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 ‑verifizierung 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 das OM SDK v1.4, GAM-Erweiterungen für Anzeigenverifizierung 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
<AdVerifications>gemäß der VAST 4.1-Spezifikation in VAST-Anzeigen ausgeliefert wird. 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.
Overlays für Videosteuerung als Hindernisse registrieren
Videosteuerungselemente 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 Tippen und der Erwartungen der Nutzer üblich, große, touchfreundliche Steuerungselemente über dem Media-Element zu rendern. Diese Steuerungselemente werden in der Regel durch Tippen des Nutzers ein- und ausgeblendet und sind während der Wiedergabe die meiste Zeit nicht sichtbar.
Ein Beispiel für das Überlagern von Videosteuerungselementen finden Sie in der folgenden Abbildung, die die Steuerungselemente in der YouTube App zeigt:

Wenn Sie das IMA SDK verwenden, implementieren die meisten Publisher diese Steuerungselemente, indem sie eine Ansicht über dem Anzeigen-Container hinzufügen, die größtenteils transparent ist. In der Regel sind die Steuerungselemente untergeordnete Elemente dieser Ansicht, die den zugrunde liegenden Videoplayer vollständig verdecken. Dieses transparente Overlay wird verwendet, um Tippereignisse zu erfassen und die Steuerungselemente dann für Nutzer zu rendern, wenn sie darauf tippen.
Bei der Berechnung der Sichtbarkeit von Anzeigen mit dem Open Measurement SDK 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 Videosteuerungselemente als „freundliche“ Hindernisse betrachtet werden, die für die Nutzererfahrung unerlässlich sind. Sobald sie als freundlich registriert sind, werden diese Steuerungselemente 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 Steuerungselemente müssen vollständig transparente Overlays oder kleine Schaltflächen sein. Alle anderen Ansichten, die nicht mit der Videosteuerung zusammenhängen, dürfen nicht registriert werden.
| Registrieren | Nicht registrieren |
|---|---|
|
|
Der folgende Beispielcode zeigt, wie Sie Overlays für die Videosteuerung 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()
}