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 Sichtbarkeits- und Überprüfungsmessung durch Drittanbieter zu ermöglichen. Wenn Sie das IMA SDK für iOS verwenden, wird das enthaltene OM SDK automatisch das <AdVerifications>-Tag in VAST-Anzeigen-Tags parsen und die Daten zur Sichtbarkeit über die OMID API an die angegebenen Messanbieter senden. Das IMA SDK unterstützt OM SDK v1.4, GAM AdVerifications-Erweiterungen in VAST 2+ und den AdVerifications-Knoten in VAST 4+.Wenn Sie Open Measurement nutzen möchten, beachten Sie Folgendes:
Wenn Sie Open Measurement verwenden möchten, benötigen Sie das IMA SDK für iOS in der Version 3.9.0 oder höher.
Anzeigen müssen so konfiguriert sein, dass
<AdVerifications>in ihrem VAST-Tag gemäß der VAST 4.1-Spezifikation getraffickt wird, wenn VAST 4.1 oder höher verwendet wird. Andernfalls sollte<Extension type="AdVerifications">verwendet werden.Decken Sie die
AdDisplayContainernicht mit Overlays (transparent oder opak) ab, da diese vom OMSDK 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 IMA-Version, die das OM SDK unterstützt, sowie ein Test-Anzeigen-Tag.
In Ihrer VAST-Antwort sollte <AdVerifications> zurückgegeben werden.
Registrieren von Hindernissen für eingeblendete Videosteuerelemente
Videosteuerelemente wie Pausenschaltflächen oder Fortschrittsbalken liefern Nutzern wichtige Informationen zur Wiedergabe und ermöglichen ihnen, Aktionen auszuführen. Auf Mobilgeräten ist es aufgrund ungenauer Berührungen und Nutzererwartungen üblich, große, berührungsfreundliche Steuerelemente über dem Media-Element zu rendern. Diese Steuerelemente werden in der Regel durch Tippen des Nutzers ein- und ausgeblendet und sind während des größten Teils der Wiedergabe nicht sichtbar.
Ein Beispiel für das Überlagern von Videosteuerelementen finden Sie im folgenden Bild zu den Rendering-Steuerelementen der YouTube App:

Wenn das IMA SDK verwendet wird, implementieren die meisten Publisher diese Steuerelemente, indem sie einen größtenteils transparenten View über dem Container für die Anzeigendarstellung hinzufügen. Normalerweise 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 Anzeigensichtbarkeit mit dem Open Measurement SDK berechnet wird, gelten alle Ansichten, die das Media-Element überlagern, als Hindernisse und verringern die Sichtbarkeitsrate. Wenn sich ein transparentes Tipp-Overlay über dem gesamten Anzeigencontainer befindet, kann das Inventar als 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. Nach der Registrierung als „freundlich“ werden diese Steuerelemente aus der Messung der Anzeigen-Sichtbarkeit ausgeschlossen.
Mit der Unterstützung von IAB und MRC führt das IMA SDK eine API zum Registrieren dieser Overlays mit dem Open Measurement SDK ein. Diese Steuerelemente müssen vollständig transparente Overlays oder kleine Schaltflächen sein. Alle anderen Aufrufe, die nicht mit der Videosteuerung zusammenhängen, dürfen nicht registriert werden.
| DO register | NICHT registrieren |
|---|---|
|
|
Im folgenden Beispielcode wird gezeigt, wie Video-Steuerelement-Overlays im Anzeigen-Container registriert werden:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls 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 fertig sind, können Sie diese Hindernisse mit der folgenden Methode entfernen:
[displayContainer unregisterAllFriendlyObstructions];