Das IMA SDK für iOS enthält das
Open Measurement (OM) SDK,
einen Branchenstandard, der vom
Interactive Advertising Bureau (IAB) entwickelt wurde, um die Sichtbarkeitsmessung und ‑überprüfung durch Drittanbieter zu ermöglichen. Wenn Sie das IMA SDK für
iOS verwenden, parst das enthaltene OM SDK automatisch
das <AdVerifications> Tag in VAST-Anzeigen-Tags und sendet Sichtbarkeitsdaten über die OMID API an
die angegebenen Messanbieter. Das IMA SDK unterstützt OM SDK v1.6, GAM-Erweiterungen für die Anzeigenüberprüfung in VAST 2+ und den Knoten „AdVerifications“ in VAST 4+.Beachten Sie die folgenden Punkte, um Open Measurement zu nutzen:
Sie benötigen Version 3.9.0 oder höher des IMA SDK für iOS.
Wenn Sie VAST 4.1 oder höher verwenden, müssen Anzeigen so konfiguriert sein, dass sie gemäß der VAST 4.1-Spezifikation
<AdVerifications>in ihrem VAST-Tag ausliefern. Andernfalls sollte<Extension type="AdVerifications">verwendet werden.Decken Sie den
AdDisplayContainernicht mit Overlays (transparent oder undurchsichtig) ab, da diese vom OM SDK als Hindernisse gekennzeichnet werden und die Sichtbarkeit verringern.
Vorbereitung
- Wenn Ihre Anzeigen über Ad Manager ausgeliefert werden, konfigurieren Sie einen Anbieter für die Sichtbarkeitsmessung für Ihr Ad Manager-Netzwerk und weisen Sie diesen Anbieter Ihrer Werbebuchung zu.
Test
Wenn Sie Open Measurement mit dem IMA SDK testen möchten, verwenden Sie eine Version des IMA SDK, die das OM SDK unterstützt, sowie ein Test-Anzeigen-Tag.
In Ihrer VAST-Antwort sollte <AdVerifications> zurückgegeben werden.
Hindernisse durch Video-Overlay-Steuerelemente registrieren
Videosteuerelemente wie Pausen-Buttons oder Fortschrittsbalken liefern Nutzern wichtige Informationen zur Wiedergabe und ermöglichen ihnen, Aktionen auszuführen. Auf Mobilgeräten ist es aufgrund ungenauer Tippvorgänge und Nutzererwartungen üblich, große, touchfreundliche Steuerelemente über dem Media-Element zu rendern. Diese Steuerelemente werden in der Regel durch einen Tippvorgang des Nutzers ein- und ausgeblendet und sind während der Wiedergabe die meiste Zeit nicht sichtbar.
Ein Beispiel für das Überlagern von Videosteuerelementen finden Sie in der folgenden Abbildung, die die Steuerelemente der YouTube App zeigt:

Bei Verwendung des IMA SDK implementieren die meisten Publisher diese Steuerelemente, indem sie eine Ansicht über dem Anzeigen-Container hinzufügen, die größtenteils transparent ist. In der Regel sind die Steuerelemente untergeordnete Elemente dieser Ansicht, die den zugrunde liegenden Videoplayer vollständig verdecken. Dieses transparente Overlay wird verwendet, um Tippereignisse zu erfassen und die Steuerelemente dann für Nutzer zu rendern, wenn sie darauf tippen.
Wenn die Sichtbarkeit von Anzeigen mit dem Open Measurement SDK berechnet wird, werden alle Ansichten, die das Media-Element überlagern, als Hindernisse betrachtet und verringern die Sichtbarkeitsrate. Wenn sich ein transparentes Tipp-Overlay über dem gesamten Anzeigen-Container befindet, kann das Inventar als vollständig nicht sichtbar deklariert werden.
Das Open Measurement SDK sieht vor, dass Videosteuerelemente als „freundliche“ Hindernisse betrachtet werden, die für die Nutzererfahrung unerlässlich sind. Sobald sie als freundlich registriert wurden, werden diese Steuerelemente bei der Messung der Sichtbarkeit von Anzeigen ausgeschlossen.
Mit Unterstützung von IAB und MRC führt das IMA SDK eine API ein, mit der diese Overlays beim Open Measurement SDK registriert werden können. Diese Steuerelemente müssen vollständig transparente Overlays oder kleine Buttons sein. Alle anderen Ansichten, die nicht mit Videosteuerelementen zusammenhängen, dürfen nicht registriert werden.
| Registrieren | Nicht registrieren |
|---|---|
|
|
Der folgende Beispielcode zeigt, wie Sie Video-Overlay-Steuerelemente im Anzeigen-Container registrieren:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
Wenn Sie diese Hindernisse nicht mehr benötigen, können Sie sie mit der folgenden Methode entfernen:
Objective-C
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}