El SDK de anuncios de Google para dispositivos móviles ahora tiene compatibilidad beta con MRAID v3, que se basa en la compatibilidad existente con MRAID v2, lo que permite que los anunciantes publiquen 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 estaban claros y estaban abiertos a interpretación en la especificación de MRAID v3. El público objetivo son los autores de creatividades de MRAID v3.
Requisitos previos
Los publicadores deben ejecutar lo siguiente:
Recursos ú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 MRAID v3 Definitions, que proporciona 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 está obsoleto. Sin embargo, estos métodos obsoletos se siguen admitiendo para mantener la retrocompatibilidad.
La definición del evento exposureChange se envía cada vez que cambia la vista del anuncio. El SDK tiene un mecanismo de sondeo para evitar que se generen 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 un ejemplo 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 requeridas 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 evento nuevo (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 un ejemplo de uso.
mraid.getLocation()
Como 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, desasignando los recursos y, luego, quitando la vista web 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 de solicitud 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 no se admita mraid.useCustomClose(), 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() devuelva loading.
mraid.resize()
Cuando se llama a mraid.resize(), el banner original se reemplaza por la imagen de la captura de pantalla del banner. Esto se nota si el anuncio con el tamaño cambiado no cubre el espacio publicitario original.
Los anuncios con tamaño ajustado tampoco siguen el marco del banner original. Si se coloca un banner en una vista de desplazamiento, el anuncio con el tamaño cambiado no se desplazará 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 con tamaño cambiado. 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, establecer 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 lo contrario, 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 partes se encuentra en estado expandido, una llamada a mraid.getCurrentPosition() en la primera parte 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.