Das IMA SDK für iOS enthält das Open Measurement (OM) SDK, einen vom Interactive Advertising Bureau (IAB) entwickelten Branchenstandard, der die Sichtbarkeits- und Überprüfungsmessung durch Drittanbieter ermöglicht. 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.6, GAM AdVerifications-Erweiterungen in VAST 2+ und den AdVerifications-Knoten in VAST 4+.Beachten Sie Folgendes, um Open Measurement zu nutzen:
Wenn Sie Open Measurement verwenden möchten, benötigen Sie die Version 3.9.0 oder höher des IMA SDK für iOS.
Anzeigen müssen so konfiguriert sein, dass
<AdVerifications>gemäß der VAST 4.1-Spezifikation in ihrer VAST-Antwort übertragen wird, wenn VAST 4.1 oder höher verwendet wird. Andernfalls sollte<Extension type="AdVerifications">verwendet werden.Legen Sie keine Overlays (transparent oder undurchsichtig) über die
AdDisplayContainer, 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 für die Sichtbarkeitsmessung Ihrer Werbebuchung zu.
Test
Wenn Sie Open Measurement mit dem IMA SDK testen möchten, verwenden Sie eine Version von IMA, die das OM SDK unterstützt, sowie ein Test-Anzeigen-Tag.
In der VAST-Antwort sollte <AdVerifications> zurückgegeben werden.
Hindernisse für das Overlay mit den Steuerelementen für die Videowiedergabe registrieren
Videosteuerelemente wie Pausenschaltflächen oder Fortschrittsanzeigen bieten Nutzern wichtige Wiedergabeinformationen und ‑aktionen. Auf Mobilgeräten ist es aufgrund ungenauer Berührungen und der Erwartungen der Nutzer üblich, große, berührungsfreundliche Steuerelemente über dem Medienelement zu rendern. Diese Steuerelemente werden normalerweise ein- und ausgeblendet, wenn der Nutzer darauf tippt, und sind während der Wiedergabe meistens nicht sichtbar.
Ein Beispiel für das Einblenden von Videosteuerelementen finden Sie in der folgenden Abbildung der Steuerelemente für das Rendering der YouTube App:

Bei Verwendung des IMA SDKs implementieren die meisten Publisher diese Steuerelemente, indem sie über dem Anzeigencontainer eine Ansicht 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 dann die Steuerelemente 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 Medienelement überlagern, als Hindernisse betrachtet und verringern die Sichtbarkeitsrate. Wenn sich ein transparentes Tipp-Overlay über dem gesamten Anzeigen-Display-Container befindet, kann es sein, dass das Inventar als vollständig nicht sichtbar deklariert wird.
Das Open Measurement SDK sieht vor, dass Videosteuerelemente als „freundliche“ Hindernisse betrachtet werden, die für die Nutzererfahrung unerlässlich sind. Sobald diese Steuerelemente als „friendly“ registriert sind, werden sie von der Messung der Sichtbarkeit von Anzeigen ausgeschlossen.
Mit der Unterstützung von IAB und MRC wird im IMA SDK eine API zum Registrieren dieser Overlays mit dem Open Measurement SDK eingeführt. Diese Steuerelemente müssen vollständig transparente Overlays oder kleine Schaltflächen sein. Andere Ansichten, die nicht mit der Videosteuerung zusammenhängen, dürfen nicht registriert werden.
| Registrieren Sie sich. | NICHT registrieren |
|---|---|
|
|
Im folgenden Beispielcode wird gezeigt, wie Sie Overlays für die Videosteuerung im Anzeigencontainer 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 sie nicht mehr benötigen, können Sie diese Hindernisse 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()
}