El SDK de IMA para iOS incluye el SDK de Open Measurement (OM), un estándar de la industria desarrollado por la Interactive Advertising Bureau (IAB) para habilitar la medición de visibilidad y verificación de terceros. Cuando usas el SDK de IMA para
iOS, el SDK de OM incluido analiza automáticamente
la etiqueta <AdVerifications>
dentro de las etiquetas de anuncios de VAST y envía datos de visibilidad a
los proveedores de medición especificados a través de la API de OMID. El SDK de IMA es compatible con el SDK de OM
v1.4, las extensiones de AdVerifications de GAM en VAST 2 y versiones posteriores,
y el nodo AdVerifications en VAST 4 y versiones posteriores. Para aprovechar Open Measurement,
ten en cuenta los siguientes puntos:
Para usar Open Measurement, debes tener la versión 3.9.0 o una posterior del SDK de IMA para iOS.
Los anuncios se deben configurar para coordinar el tráfico de
<AdVerifications>
en su VAST según la especificación de VAST 4.1 si se usa VAST 4.1 o una versión posterior; de lo contrario, se debe usar<Extension type="AdVerifications">
.No cubras
AdDisplayContainer
con superposiciones (opacas o transparentes), ya que el SDK de OM marcará estas como obstrucciones y reducirá la visibilidad.
Requisitos previos
- Si el tráfico de tus anuncios se realiza a través de Ad Manager, configura un proveedor de visibilidad para tu red de Ad Manager y asígnale ese proveedor a tu línea de pedido.
Prueba
Para probar la medición abierta con el SDK de IMA, usa una de las versiones requeridas del SDK anterior, junto con una etiqueta de anuncio de prueba.
Deberías ver el <AdVerifications>
que se muestra en tu respuesta de VAST.
Registra obstrucciones de superposición de controles de video
Los controles de video, como los botones de pausa o las barras de progreso, proporcionan información y acciones de reproducción esenciales a los usuarios. En los dispositivos móviles, los toques imprecisos y las expectativas de los usuarios hacen que sea una práctica común renderizar controles grandes y fáciles de usar sobre el elemento multimedia. Por lo general, estos controles se atenúan cuando el usuario los presiona y no son visibles durante la gran mayoría del tiempo de reproducción.
A continuación, se muestra un ejemplo de los controles de video que renderiza la app de YouTube:
Cuando se usa el SDK de IMA, la mayoría de los publicadores implementan estos controles agregando una vista sobre el contenedor de visualización de anuncios que es en su mayoría transparente. Por lo general, los controles son elementos secundarios de esta vista que ocultan por completo el reproductor de video subyacente. Esta superposición transparente se usa para capturar eventos de presión y, luego, renderizar los controles para los usuarios cuando se presionan.
Cuando se calcula la visibilidad de los anuncios a través del SDK de Open Measurement, todas las vistas que se superponen con el elemento multimedia se consideran obstrucciones y reducen el porcentaje de visibilidad. En el caso de que una superposición de toque transparente se ubique sobre todo el contenedor de visualización de anuncios, es posible que el inventario se declare completamente inaccesible.
El SDK de Open Measurement establece disposiciones para que los controles de video se consideren obstrucciones "amigables" que son esenciales para la experiencia del usuario. Una vez que se registran como aptos, estos controles se excluyen de la medición de visibilidad de los anuncios.
Con la compatibilidad con IAB y MRC, el SDK de IMA presenta una API para registrar estas superposiciones con el SDK de Open Measurement. Estos controles deben ser superposiciones completamente transparentes o botones pequeños. No se deben registrar otras vistas que no estén relacionadas con los controles de video.
QUÉ DEBES HACER | NO te registres |
---|---|
|
|
En el siguiente código de muestra, se muestra cómo registrar superposiciones de controles de video en el contenedor de visualización de anuncios:
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];
Cuando termines de usarlas, puedes quitar estas obstrucciones llamando al siguiente método:
[displayContainer unregisterAllFriendlyObstructions];