L'SDK IMA per iOS include l'SDK Open Measurement (OM), uno standard di settore sviluppato dall'Interactive Advertising Bureau (IAB) per abilitare 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 tramite l'API OMID. L'SDK IMA supporta l'SDK OM v1.4, le estensioni GAM AdVerifications su VAST 2 e versioni successive e il nodo AdVerifications su VAST 4 e versioni successive. Per sfruttare Open Measurement, tieni presente quanto segue:
Per usare Open Measurement, devi avere una versione 3.9.0 o superiore delle SDK IMA per iOS.
Gli annunci devono essere configurati per gestire il traffico di
<AdVerifications>
nel proprio VAST le specifiche VAST 4.1 se utilizzi VAST 4.1 o versioni successive; altrimenti<Extension type="AdVerifications">
di destinazione.Evita di coprire il
AdDisplayContainer
con overlay. (trasparente oppure opaco), poiché vengono segnalati come ostruzioni dal sistema operativo SDK e ridurre la visibilità.
Prerequisiti
- Se il traffico degli annunci viene gestito tramite Ad Manager, configura un'opzione per la tua rete Ad Manager e assegnarlo all'elemento pubblicitario.
Test
Per testare Open Measurement utilizzando l'SDK IMA, utilizza una delle versioni richieste di l'SDK sopra riportato, insieme a un tag annuncio di prova.
Dovresti vedere <AdVerifications>
restituito nella risposta VAST.
Registra le ostruzioni degli overlay dei controlli video
I controlli video, come i pulsanti di pausa o le barre di avanzamento, consentono una riproduzione essenziale informazioni e azioni agli utenti. Sui dispositivi mobili, tocchi e utenti sono poco precisi le aspettative hanno reso prassi comune eseguire visualizzazioni di grandi dimensioni e controlli sull'elemento multimediale. Questi controlli solitamente sfumano in entrata e in uscita l'utente tocca e non sono visibili per la maggior parte del tempo di riproduzione.
Di seguito è riportato un esempio di controlli video visualizzati dall'app YouTube:
Quando utilizza l'SDK IMA, la maggior parte dei publisher implementa questi controlli aggiungendo una visualizzazione sopra il contenitore di visualizzazione dell'annuncio che è per lo più trasparente. Di solito, sono elementi secondari di questa vista che nascondono completamente la video player. 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 tramite l'SDK Open Measurement, tutte le visualizzazioni la sovrapposizione all'elemento multimediale è considerata un'ostruzione e riduce tasso di visibilità. Nel caso in cui un overlay trasparente del tocco si trovi sopra il è possibile che l'inventario venga dichiarato completamente invisibili.
L'SDK Open Measurement esegue le disposizioni per prendere in considerazione i controlli video "amichevole" ostruzioni essenziali per l'esperienza dell'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 con l'SDK Open Measurement. Questi controlli devono essere completamente trasparenti overlay o piccoli pulsanti. Eventuali altre visualizzazioni non correlate ai controlli video non devono essere registrate.
Registrazione DO | NON registrare |
---|---|
|
|
Il seguente codice di esempio mostra come registrare gli overlay dei controlli video nel contenitore di visualizzazione dell'annuncio:
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];
Quando hai finito, queste ostruzioni possono essere rimosse chiamando il seguente metodo:
[displayContainer unregisterAllFriendlyObstructions];