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 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 estaban claros y que estaban abiertos a la 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 lo siguiente:
Recursos útiles
Si no estás familiarizado con MRAID, puedes obtener más información en la página de MRAID de IAB. También puedes descargar el documento de definiciones de MRAID v3, 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 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
exposureChange evento en lugar del evento viewableChange obsoleto.
El método mraid.isViewable() también es obsoleto. Sin embargo, estos métodos obsoletos
siguen siendo compatibles 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 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 MRAID_ENV
El SDK cumple con el protocolo de inicialización tal como 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 COPPA (que son opcionales). Proporciona todas las variables necesarias
en el MRAID_ENV objeto, 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()
Dado que mraid.getLocation() no es compatible, siempre muestra -1.
mraid.unload()
Se puede llamar a este método en cualquier momento, y el SDK reacciona descartando el anuncio, anulando la asignación de 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 intersticial. |
VPAID (definición de la interfaz de anuncios de reproductor de videos)
El SDK de anuncios de Google para dispositivos móviles no admite VPAID. mraid.supports('vpaid')
muestra un valor falso.
mraid.useCustomClose()
Es posible que mraid.useCustomClose() no sea compatible, según el formato y el
tipo de creatividad.
Detalles de implementación de MRAID v2
mraid.getVersion()
mraid.getVersion() no muestra 2.0 hasta que se carga la creatividad. No
verifiques la versión de MRAID mientras mraid.getState() muestra 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 se coloca un banner 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
mraid.setResizeProperties() se vuelva a llamar con parámetros válidos.
mraid.getMaxSize()
mraid.getMaxSize() solo debe usarse 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 llamas a mraid.setOrientationProperties() con la propiedad allowOrientationChange
establecida en true, configurar la propiedad forceOrientation no hará nada.
Las creatividades que deseen 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á mostrando
true. El contenido de la app no debe cubrir los anuncios visibles.
mraid.getCurrentPosition()
Mientras un anuncio expandible de dos partes está en estado expandido, una llamada a
mraid.getCurrentPosition() en la primera parte mostrará el tamaño de la
pantalla.
mraid.storePicture()
Para que una app admita mraid.storePicture(), debe incluir el
android.permission.WRITE_EXTERNAL_STORAGE permiso.