El SDK de IMA para Android incluye el
SDK de Open Measurement (OM),
un estándar de la industria desarrollado por el
Interactive Advertising Bureau (IAB) para habilitar la medición de visibilidad y verificación de terceros. Cuando se usa el SDK de IMA para
Android, el SDK de OM incluido analiza automáticamente
la <AdVerifications> etiqueta dentro de las etiquetas de anuncios de VAST y envía datos de visibilidad a
los proveedores de medición especificados mediante la API de OMID. El SDK de IMA admite el SDK de OM v1.4, las extensiones de AdVerifications de GAM en VAST 2+ y el nodo AdVerifications en VAST 4+.Para aprovechar Open Measurement, ten en cuenta los siguientes puntos:
Para usar Open Measurement, debes tener la versión 3.11.0 o posterior del SDK de IMA para Android. Sin embargo, el ejemplo de esta guía está diseñado para la versión más reciente del SDK e incluye APIs introducidas en la versión 3.16.5.
Los anuncios deben configurarse para publicar
<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">.Evita cubrir el
AdDisplayContainercon superposiciones (transparentes o opacas), ya que el SDK de OM las marcará como obstrucciones y reducirá la visibilidad.
Requisitos previos
- Si tus anuncios se publican a través de Ad Manager, configura un proveedor de visibilidad para tu red de Ad Manager y asígnalo a tu línea de pedido.
Prueba
Para probar Open Measurement con el SDK de IMA, usa una versión de IMA que admita el SDK de OM, 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 a los usuarios información y acciones de reproducción esenciales. En dispositivos móviles, los toques imprecisos y las expectativas de los usuarios hicieron que se volviera una práctica común renderizar controles grandes y fáciles de tocar sobre el elemento multimedia. Por lo general, estos controles aparecen y desaparecen cuando el usuario toca la pantalla, y no son visibles durante la mayor parte del tiempo de reproducción.
Para ver un ejemplo de superposición de controles de video, consulta la siguiente imagen en la que se muestran los controles de renderización de 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 casi transparente. 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 toque y, luego, renderizar los controles para los usuarios cuando los tocan.
Cuando se calcula la visibilidad de los anuncios con el SDK de Open Measurement, todas las vistas que se superponen al elemento multimedia se consideran obstrucciones y reducen la tasa de visibilidad. En el caso de que una superposición de toque transparente se encuentre sobre todo el contenedor de visualización de anuncios, es posible que el inventario se declare como completamente no visible.
El SDK de Open Measurement establece disposiciones para que los controles de video se consideren obstrucciones "amistosas" que son esenciales para la experiencia del usuario. Una vez registrados como amistosos, estos controles se excluyen de la medición de visibilidad de los anuncios.
Con la compatibilidad de 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.
| REGISTRA | NO 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:
myTransparentTapOverlay = (ViewGroup) rootView.findViewById(R.id.overlay);
myPauseButton = (ImageButton) rootView.findViewById(R.id.pauseButton);
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the
// elements you want to register as video controls overlays.
// Make sure to register before ad playback starts.
overlayObstruction = ImaSdkFactory.createFriendlyObstruction(
myTransparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent"
);
pauseButtonObstruction = ImaSdkFactory.createFriendlyObstruction(
myPauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"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();