Das IMA SDK für Android enthält das Open Measurement (OM) SDK, einen Branchenstandard, der vom Interactive Advertising Bureau (IAB) entwickelt wurde, um die Messung der Sichtbarkeit und Überprüfung durch Drittanbieter zu ermöglichen. Wenn Sie das IMA SDK für Android verwenden, wird das <AdVerifications>-Tag in VAST-Anzeigen-Tags automatisch vom enthaltenen OM SDK geparst. Mithilfe der OMID API werden Daten zur Sichtbarkeit an die angegebenen Anbieter für die Messung gesendet. 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 Android ab Version 3.11.0. Das Beispiel in dieser Anleitung ist jedoch für die neueste Version des SDK konzipiert und enthält APIs, die in Version 3.16.5 eingeführt wurden.
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:
private void registerFriendlyObstructions(
AdDisplayContainer adDisplayContainer, View transparentTapOverlay, View pauseButton) {
ImaSdkFactory imaSdkFactory = ImaSdkFactory.getInstance();
// Make sure to register all friendly obstructions before ad playback starts.
FriendlyObstruction overlayObstruction =
imaSdkFactory.createFriendlyObstruction(
transparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent");
FriendlyObstruction pauseButtonObstruction =
imaSdkFactory.createFriendlyObstruction(
pauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"This is the video player pause button");
adDisplayContainer.registerFriendlyObstruction(overlayObstruction);
adDisplayContainer.registerFriendlyObstruction(pauseButtonObstruction);
}
Wenn Sie fertig sind, können Sie diese Hindernisse mit der folgenden Methode entfernen:
private void unregisterFriendlyObstructions(AdDisplayContainer adDisplayContainer) {
adDisplayContainer.unregisterAllFriendlyObstructions();
}