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 la visibilidad y la verificación de terceros. Cuando se usa el SDK de IMA paraiOS, el SDK de OM incluido analiza automáticamente la etiqueta <AdVerifications>
en las etiquetas de anuncios de VAST y envía los datos de visibilidad a los proveedores de medición especificados mediante la API de OMID.El SDK de IMA es compatible con la versión1.4del SDK de OM, las extensiones de AdVerifys de GAM en VAST 2 y versiones posteriores y el nodo de AdVerifys en VAST 4 o superior.Para aprovechar Open Measurement, ten en cuenta lo siguiente:
Si quieres usar Open Measurement, debes tener la versión 3.9.0 o una versión posterior del SDK de IMA para iOS.
Los anuncios deben configurarse 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 versiones posteriores; de lo contrario, se debe usar<Extension type="AdVerifications">
.No cubras el
AdDisplayContainer
con superposiciones (opacas o transparentes), ya que el SDK de OM las marcará como obstrucciones y reducirá la visibilidad.
Requisitos previos
- Si el tráfico de tus anuncios se dirige a través de Ad Manager, configura un proveedor de visibilidad para tu red de Ad Manager y asígnalo a la línea de pedido.
Prueba
Para probar Open Measurement con el SDK de IMA, usa una de las versiones requeridas del SDK anteriores, junto con una etiqueta de anuncio de prueba.
Deberías ver el <AdVerifications>
que se muestra en tu respuesta de VAST.
Registra las obstrucciones de la superposición de los controles de video
Los controles de video, como los botones de pausa o las barras de progreso, proporcionan a los usuarios información y acciones esenciales de reproducción. En dispositivos móviles, los toques poco precisos y las expectativas del usuario 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 aparecen y desaparecen cuando el usuario presiona y no son visibles durante la gran mayoría del tiempo de reproducción.
A continuación, se muestra un ejemplo de controles de video renderizados por la app de YouTube:
Cuando se usa el SDK de IMA, la mayoría de los publicadores implementan estos controles cuando agregan una vista que es mayormente transparente sobre el contenedor de visualización de anuncios. Por lo general, los controles son elementos secundarios de esta vista que ocluyen 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 la tasa de visibilidad. En el caso de que una superposición de presión transparente se ubique por encima de todo el contenedor de visualización de anuncios, es posible que el inventario se declare por completo como no visible.
El SDK de Open Measurement realiza 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 compatibles, estos controles se excluyen de la medición de visibilidad de anuncios.
Gracias a la compatibilidad con IAB y MRC, el SDK de IMA introduce 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 del video.
REGÍSTRATE | NO registrarte |
---|---|
|
|
En el siguiente código de ejemplo, se indica cómo registrar superposiciones de controles de video en el contenedor de anuncios gráficos:
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 usarlos, puedes llamar al siguiente método para quitar esas obstrucciones:
[displayContainer unregisterAllFriendlyObstructions];