Anuncios rich media para dispositivos móviles

El SDK de anuncios de Google para dispositivos móviles ahora admite la versión beta de MRAID v3, que se basa en la compatibilidad existente con MRAID v2, lo que permite a los anunciantes publicar creatividades de MRAID v3 para los publicadores de Ad Manager. En esta guía, se aclaran los detalles de implementación de MRAID que no eran claros y estaban abiertos a interpretación en la especificación de MRAID v3. Su público objetivo son los autores de creatividades de MRAID v3.

Requisitos previos

Los publicadores deben ejecutar las siguientes versiones:

  • Servicios de Google Play 15.0.0 o versiones posteriores para MRAID v3
  • Servicios de Google Play 7.8 o versiones posteriores para MRAID v2

Guías útiles

Si no conoces MRAID, puedes obtener más información en la página de MRAID de IAB. También puedes descargar el documento Definiciones de MRAID v3, que brinda detalles sobre todos los parámetros que se analizan a continuación, así como la entrada de blog de IAB sobre MRAID v3.

Detalles de la implementación de MRAID v3 (beta)

Visibilidad: evento exposureChange

Este evento es compatible, y te recomendamos que uses un objeto de escucha para el nuevo evento exposureChange en lugar del evento viewableChange obsoleto. El método mraid.isViewable() también dejó de estar disponible. Sin embargo, estos métodos obsoletos siguen siendo compatibles para mantener la retrocompatibilidad.

La definición del evento exposureChange se despacha cada vez que cambia la vista del anuncio. El SDK tiene un mecanismo de sondeo para evitar generar demasiados eventos. El estado inicial se envía de forma asíncrona después de que el anuncio registra un objeto de escucha. La devolución de llamada incluye el parámetro exposed_percentage, que es un número de punto flotante entre 0.0 y 100.0.

Consulta la especificación de MRAID v3 para ver ejemplos de uso.

Detección e inicialización de MRAID y atributos de MRAID_ENV

El SDK cumple con el protocolo de inicialización según se define en la especificación de MRAID v3.

En el objeto MRAID_ENV, el SDK no envía IDFA, limitAdTracking, el ID de la app ni la COPPA (que son opcionales). Proporciona todas las variables necesarias en el objeto MRAID_ENV, incluidas la versión de MRAID, el nombre del SDK y la versión del SDK.

Medición de la audibilidad

Se introduce un nuevo evento (audioVolumeChange) para identificar si se puede escuchar el audio y cuándo cambia el volumen.

El evento audioVolumeChange tiene un solo parámetro: volume_percentage. El valor es el porcentaje del volumen máximo de reproducción de audio. Es un número de punto flotante entre 0.0 y 100.0 (0.0 cuando no se permite la reproducción) o null si no se puede determinar el volumen.

Consulta la especificación de MRAID v3 para ver ejemplos de uso.

mraid.getLocation()

Debido a que mraid.getLocation() no es compatible, siempre devuelve -1.

mraid.unload()

Se puede llamar a este método en cualquier momento, y el SDK reacciona descartando el anuncio, liberando los recursos y, luego, quitando la WebView o reemplazándola por otro documento o un anuncio nuevo.

Cuando la creatividad llama a unload(), la capa nativa responde de la siguiente manera para los diferentes tipos de creatividades:

Tipo Comportamiento de unload()
Banner Realiza una nueva solicitud de anuncio con los mismos parámetros que el anuncio actual.
Intersticial Cierra el anuncio intersticial.

VPAID (definición de interfaz de anuncios en reproductores de video)

El SDK de anuncios de Google para dispositivos móviles no admite VPAID. mraid.supports('vpaid') devuelve falso.

mraid.useCustomClose()

Es posible que mraid.useCustomClose() no sea compatible, según el formato y el tipo de creatividad.

Detalles de la implementación de MRAID v2

mraid.getVersion()

mraid.getVersion() no devuelve 2.0 hasta que se carga la creatividad. No verifiques la versión de MRAID mientras mraid.getState() devuelve loading.

mraid.resize()

Cuando se llama a mraid.resize(), el banner original se reemplaza por la imagen de captura de pantalla del banner. Esto se nota si el anuncio redimensionado no cubre el espacio publicitario original.

Los anuncios redimensionados tampoco siguen el marco del banner original. Si un banner se coloca en una vista de desplazamiento, el anuncio redimensionado no se desplaza con el banner.

mraid.setResizeProperties()

Todas las llamadas a mraid.setResizeProperties() deben contener una lista completa de las propiedades obligatorias. Si las propiedades de cambio de tamaño no son válidas, se restablecerán a sus valores predeterminados y todas las llamadas posteriores a mraid.resize() fallarán hasta que se vuelva a llamar a mraid.setResizeProperties() con parámetros válidos.

mraid.getMaxSize()

mraid.getMaxSize() solo se debe usar para determinar el tamaño máximo de los anuncios redimensionados. Para determinar el tamaño de un anuncio expandible, usa mraid.getScreenSize().

mraid.setOrientationProperties()

Cuando se llama a mraid.setOrientationProperties() con la propiedad allowOrientationChange establecida en true, configurar la propiedad forceOrientation no tendrá ningún efecto. Las creatividades que quieran forzar la orientación deben establecer allowOrientationChange en false.

mraid.isViewable()

Si una vista cubre un anuncio que, de otro modo, sería visible, mraid.isViewable() seguirá devolviendo true. El contenido de la app no debe cubrir los anuncios visibles.

mraid.getCurrentPosition()

Mientras un anuncio expandible de dos piezas está en el estado expandido, una llamada a mraid.getCurrentPosition() en la primera pieza devolverá el tamaño de la pantalla.

mraid.storePicture()

Para que una app admita mraid.storePicture(), debe incluir el permiso android.permission.WRITE_EXTERNAL_STORAGE.