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 di visibilità ai fornitori di misurazione specificati utilizzando l'API OMID. L'SDK IMA supporta
l'SDK OM v1.6, le estensioni GAM AdVerifications su VAST 2+
e il nodo AdVerifications su VAST 4+.Per sfruttare al meglio 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 il traffico
<AdVerifications>nel VAST in base alle specifiche VAST 4.1 se si utilizza VAST 4.1 o versioni successive; in caso contrario, deve essere utilizzato<Extension type="AdVerifications">.Evita di coprire
AdDisplayContainercon overlay (trasparenti o opachi), in quanto verranno segnalati come ostruzioni dall'SDK OM e ridurranno la visibilità.
Prerequisiti
- Se i tuoi annunci vengono pubblicati 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 supporti l'SDK OM, insieme a un tag annuncio di test.
Dovresti vedere <AdVerifications> restituito nella risposta VAST.
Registrare 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 essenziali per la riproduzione. Sui dispositivi mobili, i tocchi imprecisi e le aspettative degli utenti hanno reso pratica comune il rendering di controlli grandi e adatti al tocco sull'elemento multimediale. Questi controlli vengono visualizzati e nascosti quando l'utente tocca lo schermo e non sono visibili per la maggior parte del tempo di riproduzione.
Per un esempio di controlli video sovrapposti, vedi 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 per lo più trasparente sopra il contenitore di visualizzazione dell'annuncio. In genere, i controlli sono elementi secondari di questa visualizzazione che occludono completamente il video player sottostante. Questa overlay trasparente viene utilizzata per acquisire gli eventi di tocco e poi visualizzare i controlli per gli 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 vengono considerate ostruzioni e riducono il tasso di visibilità. Nel caso in cui una sovrapposizione trasparente per il tocco si trovi sopra l'intero contenitore di visualizzazione dell'annuncio, è possibile che l'inventario venga dichiarato completamente non visibile.
L'SDK di misurazione Open Measurement prevede che i controlli video siano considerati "ostacoli" essenziali per l'esperienza dell'utente. Una volta registrati come friendly, questi controlli vengono esclusi dalla misurazione della visibilità degli annunci.
Con il supporto di IAB e MRC, l'SDK IMA introduce un'API per registrare questi overlay con l'SDK Open Measurement. Questi controlli devono essere overlay completamente trasparenti o piccoli pulsanti. Non devono essere registrate altre visualizzazioni non correlate ai controlli video.
| DO register | NON registrare |
|---|---|
|
|
Il seguente codice campione mostra come registrare le 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)];
// 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];
Una volta terminato, questi ostacoli possono essere rimossi 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()
}