Anúncios rich media para dispositivos móveis

O SDK dos anúncios para dispositivos móveis do Google agora tem suporte beta para MRAID v3, criado com base no suporte existente para MRAID v2, permitindo que os anunciantes veiculem criativos MRAID v3 para editores do Ad Manager. Este guia esclarece os detalhes de implementação do MRAID que não estavam claros e abertos a interpretações na especificação do MRAID v3. O público-alvo são os autores de criativos do MRAID v3.

Pré-requisitos

Os editores precisam estar em execução:

  • Google Play Services 15.0.0 ou mais recente para MRAID v3
  • Google Play Services 7.8 ou mais recente para MRAID v2

Noções básicas úteis

Se você não conhece o MRAID, acesse a página do MRAID do IAB (em inglês). Você também pode fazer o download do documento Definições do MRAID v3, que fornece detalhes sobre todos os parâmetros discutidos abaixo, além da postagem do blog do IAB sobre o MRAID v3.

Detalhes da implementação do MRAID v3 (Beta)

Visibilidade: evento exposureChange

Esse evento tem suporte, e recomendamos o uso de um listener para o novo evento exposureChange em vez do evento viewableChange descontinuado. O método mraid.isViewable() também foi descontinuado. No entanto, esses métodos descontinuados continuam com suporte para manter a compatibilidade com versões anteriores.

A definição do evento exposureChange é enviada sempre que a visualização do anúncio muda. O SDK tem um mecanismo de pesquisa para evitar a geração de muitos eventos. O estado inicial é enviado de forma assíncrona depois que o anúncio registra um listener. O callback inclui o parâmetro exposed_percentage, que é um número de ponto flutuante entre 0.0 e 100.0.

Consulte a especificação do MRAID v3 para conferir exemplos de uso.

Detecção e inicialização do MRAID e atributos MRAID_ENV

O SDK está em conformidade com o protocolo de inicialização conforme definido na especificação MRAID v3.

No objeto MRAID_ENV, o SDK não envia IDFA, limitAdTracking, ID do app ou COPPA (que são opcionais). Ele fornece todas as variáveis necessárias no objeto MRAID_ENV, incluindo a versão MRAID, o nome do SDK e a versão do SDK.

Medição de audibilidade

Um novo evento (audioVolumeChange) foi introduzido para identificar se o áudio pode ser ouvido e quando o volume muda.

O evento audioVolumeChange tem um único parâmetro: volume_percentage. O valor é a porcentagem do volume máximo de reprodução de áudio. É um número de ponto flutuante entre 0.0 e 100.0 (0.0 quando a reprodução não é permitida) ou null se o volume não puder ser determinado.

Consulte a especificação do MRAID v3 para conferir exemplos de uso.

mraid.getLocation()

Como mraid.getLocation() não tem suporte, ele sempre retorna -1.

mraid.unload()

Esse método pode ser chamado a qualquer momento, e o SDK reage dispensando o anúncio, desalocando os recursos e removendo a visualização da Web ou substituindo-a por outro documento ou um novo anúncio.

Quando o criativo chama unload(), a camada nativa responde da seguinte maneira para os diferentes tipos de criativo:

Tipo Comportamento de unload()
Banner Faça uma nova solicitação de anúncio com os mesmos parâmetros de solicitação do anúncio atual.
Intersticial Feche o intersticial.

VPAID (Definição da interface entre anúncio e player de vídeo)

O SDK dos anúncios para dispositivos móveis do Google não oferece suporte a VPAID. mraid.supports('vpaid') retorna falso.

mraid.useCustomClose()

O suporte para mraid.useCustomClose() pode variar, dependendo do formato e do tipo de criativo.

Detalhes da implementação do MRAID v2

mraid.getVersion()

mraid.getVersion() não retorna 2.0 até que o criativo seja carregado. Não verifique a versão MRAID enquanto mraid.getState() retornar loading.

mraid.resize()

Quando mraid.resize() é chamado, o banner original é substituído pela imagem de captura de tela do banner. Isso é perceptível se o anúncio redimensionado não cobrir o espaço original.

Os anúncios redimensionados também não seguem a moldura original do banner. Se um banner for colocado em uma visualização de rolagem, o anúncio redimensionado não vai rolar com o banner.

mraid.setResizeProperties()

Todas as chamadas para mraid.setResizeProperties() precisam conter uma lista completa de propriedades obrigatórias. Se as propriedades de redimensionamento forem inválidas, elas serão redefinidas para os valores padrão, e todas as chamadas subsequentes para mraid.resize() vão falhar até que mraid.setResizeProperties() seja chamado novamente com parâmetros válidos.

mraid.getMaxSize()

O mraid.getMaxSize() só deve ser usado para determinar o tamanho máximo de anúncios redimensionados. Para determinar o tamanho de um anúncio expansível, use mraid.getScreenSize().

mraid.setOrientationProperties()

Ao chamar mraid.setOrientationProperties() com a propriedade allowOrientationChange definida como true, definir a propriedade forceOrientation não vai fazer nada. Os criativos que querem forçar a orientação precisam definir allowOrientationChange como false.

mraid.isViewable()

Se uma visualização cobrir um anúncio que estaria visível, mraid.isViewable() ainda vai retornar true. O conteúdo do app não pode cobrir anúncios visíveis.

mraid.getCurrentPosition()

Enquanto um anúncio expansível de duas partes está no estado aberto, uma chamada para mraid.getCurrentPosition() na primeira parte vai retornar o tamanho da tela.

mraid.storePicture()

Para que um app ofereça suporte a mraid.storePicture(), ele precisa incluir a permissão android.permission.WRITE_EXTERNAL_STORAGE.