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 <AdVerifications> tag all'interno dei tag annuncio VAST e invia i dati sulla visibilità a
i fornitori di misurazione specificati utilizzando l'API OMID. L'SDK IMA supporta l'SDK OM v1.6, le estensioni AdVerifications di GAM su VAST 2+ e il nodo AdVerifications su VAST 4+.Per sfruttare Open Measurement, tieni presente i seguenti punti:
Per utilizzare Open Measurement, devi avere la versione 3.9.0 o successive dell' SDK IMA per iOS.
Se utilizzi VAST 4.1+, gli annunci devono essere configurati per il trafficking di
<AdVerifications>nel VAST in base a le specifiche VAST 4.1 ; in caso contrario, deve essere utilizzato<Extension type="AdVerifications">.Evita di coprire
AdDisplayContainercon overlay (trasparenti o opachi), poiché questi verranno contrassegnati come ostruzioni dall'SDK OM e ridurranno la visibilità.
Prerequisiti
- Se gli annunci vengono pubblicati tramite Ad Manager, configura un fornitore visibilità per la tua rete Ad Manager e assegna questo fornitore visibilità 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 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 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 touch-friendly sull'elemento multimediale. Questi controlli di solito vengono visualizzati e scompaiono quando l'utente tocca lo schermo e non sono visibili per la maggior parte del tempo di riproduzione.
Per un esempio di overlay dei controlli video, vedi l'immagine seguente sull'app YouTube che esegue il rendering dei controlli:

Quando utilizzano 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. In genere, i controlli sono elementi secondari di questa visualizzazione che occlude completamente il video player sottostante. Questo overlay trasparente viene utilizzato per acquisire gli eventi di tocco e poi eseguire il rendering dei 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 un overlay di tocco trasparente 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 ostruzioni "amichevoli" essenziali per l'esperienza dell'utente. Una volta registrati come amichevoli, 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 pulsanti piccoli. Non devono essere registrate altre visualizzazioni non correlate ai controlli video.
| REGISTRA | NON REGISTRA |
|---|---|
|
|
Il seguente codice campione 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)];
// 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()
}