L'SDK IMA per iOS include l'SDK Open Measurement (OM), uno standard di settore sviluppato dall'Interactive Advertising Bureau (IAB) per consentire la misurazione della visibilità e della verifica di terze parti. Quando utilizzi l'SDK IMA per iOS, l'SDK OM incluso analizza automaticamente il tag <AdVerifications> all'interno dei tag annuncio VAST e invia i dati sulla visibilità ai fornitori di servizi di misurazione specificati utilizzando l'API OMID. L'SDK IMA supporta
OM SDK v1.6, le estensioni GAM AdVerifications su VAST 2+
e il nodo AdVerifications su VAST 4+.Per sfruttare Open Measurement,
tieni presente quanto segue:
Per utilizzare Open Measurement, devi disporre della versione 3.9.0 o successive dell'SDK IMA per iOS.
Gli annunci devono essere configurati per gestire il traffico di
<AdVerifications>nel VAST, come indicato nella specifica VAST 4.1 se utilizzi VAST 4.1 o versioni successive; in caso contrario, deve essere utilizzato<Extension type="AdVerifications">.Evita di coprire
AdDisplayContainercon overlay (trasparenti o opachi), poiché verranno segnalati come ostruzioni dall'OM SDK e ridurranno la visibilità.
Prerequisiti
- Se i tuoi annunci vengono gestiti tramite Ad Manager, configura un fornitore visibilità per la tua rete Ad Manager e assegnalo al tuo elemento pubblicitario.
Test
Per testare Open Measurement utilizzando l'SDK IMA, utilizza una versione di IMA che supporta l'SDK OM, insieme a un tag annuncio di prova.
Dovresti vedere <AdVerifications> restituito nella risposta VAST.
Registra le ostruzioni dell'overlay dei controlli video
I controlli video, come i pulsanti di pausa o le barre di avanzamento, forniscono agli utenti informazioni e azioni di riproduzione essenziali. Sui dispositivi mobili, i tocchi imprecisi e le aspettative degli utenti hanno reso pratica comune il rendering di controlli di grandi dimensioni e ottimizzati per il tocco sull'elemento multimediale. Questi controlli di solito compaiono e scompaiono quando l'utente tocca lo schermo e non sono visibili per la maggior parte del tempo di riproduzione.
Per un esempio di sovrapposizione dei controlli video, guarda la seguente immagine sui controlli di rendering dell'app YouTube:

Quando utilizzano l'SDK IMA, la maggior parte dei publisher implementa questi controlli aggiungendo una visualizzazione sopra il contenitore di visualizzazione degli annunci, che è per lo più trasparente. In genere, i controlli sono elementi secondari di questa visualizzazione che nascondono completamente il video player sottostante. Questo overlay trasparente viene utilizzato per acquisire gli eventi di tocco e poi mostrare i controlli agli utenti quando vengono toccati.
Quando viene calcolata la visibilità degli annunci utilizzando l'SDK di misurazione Open Measurement, tutte le visualizzazioni che si sovrappongono all'elemento multimediale sono considerate ostruzioni e riducono il tasso di visibilità. Nel caso in cui un overlay trasparente per i tocchi si trovi sopra l'intero contenitore di visualizzazione dell'annuncio, è possibile che l'inventario venga dichiarato completamente non visibile.
L'SDK Open Measurement prevede che i controlli video siano considerati ostruzioni "friendly" essenziali per l'esperienza utente. Una volta registrati come compatibili, questi controlli vengono esclusi dalla misurazione della visibilità degli annunci.
Con il supporto di IAB e MRC, l'SDK IMA introduce un'API per la registrazione di questi overlay con l'SDK Open Measurement. Questi controlli devono essere overlay completamente trasparenti o piccoli pulsanti. Eventuali altre visualizzazioni non correlate ai controlli video non devono essere registrate.
| Registrati | NON registrarti |
|---|---|
|
|
Il seguente codice campione mostra come registrare gli overlay dei controlli video sul contenitore di visualizzazione degli annunci:
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];
Al termine, queste ostruzioni possono essere rimosse chiamando il seguente metodo:
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()
}