El SDK de IMA para Android 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 Android, el SDK de OM incluido analiza automáticamente la etiqueta <AdVerifications>
dentro de las etiquetas de anuncio 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 admite 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.11.0 o una posterior del SDK de IMA para Android. Sin embargo, la muestra de esta guía está diseñada para la versión más reciente del SDK y, además, incluye las APIs que se presentaron en la versión 3.16.5.
Los anuncios deben configurarse para que envíen
<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 ninguna superposición (transparente o opaca), ya que el SDK de OM las marcará 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 y se apagan cuando el usuario los presiona y no son visibles durante la mayor parte 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 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 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:
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();