Open Measurement no SDK de DAI do IMA

O SDK do Google IMA para Android inclui a SDK do Open Measurement (OM), um padrão do setor desenvolvido pela Interactive Advertising Bureau (IAB) para permitir que aplicativos medição de visibilidade e verificação. Ao usar o SDK do IMA para Android, o SDK do OM incluído analisa automaticamente a tag <AdVerifications> nas tags de anúncios VAST e envia dados de visibilidade para os fornecedores de medição especificados pela API OMID. O SDK do IMA oferece suporte à v1.4 do SDK do OM, às extensões de verificação de anúncios do GAM no VAST 2+ e ao nó de verificação de anúncios no VAST 4+. Para aproveitar o Open Measurement, considere os seguintes pontos:

  • Para usar o Open Measurement, você precisa ter uma versão 3.11.0 ou a versão mais recente do SDK do IMA para Android. No entanto, o exemplo neste guia foi criado para a versão mais recente do SDK e inclui APIs introduzidas na versão 3.16.5.

  • Os anúncios precisam ser configurados para programar <AdVerifications> no VAST de acordo com as especificações VAST 4.1 se estiver usando VAST 4.1+; Caso contrário, <Extension type="AdVerifications"> deve ser usado.

  • Não cubra o AdDisplayContainer com nenhuma sobreposição (transparente ou opaca), porque elas serão sinalizadas como obstruções pelo SDK OM e reduzirão a visibilidade.

Pré-requisitos

Teste

Para testar a medição aberta usando o SDK do IMA, use uma das versões necessárias do SDK acima com uma tag de anúncio de teste.

Você vai encontrar o <AdVerifications> retornado na resposta VAST.

Registrar obstruções de sobreposição de controles de vídeo

Controles de vídeo, como botões de pausa ou barras de progresso, fornecem uma reprodução essencial informações e ações aos usuários. Em dispositivos móveis, toques imprecisos e expectativas do usuário tornaram comum renderizar controles grandes e fáceis de tocar no elemento de mídia. Esses controles geralmente aparecem e esmaecem por um toque do usuário e não ficam visíveis na maior parte do tempo de reprodução.

Veja abaixo um exemplo de controles de vídeo renderizados pelo app YouTube:

Ao usar o SDK do IMA, a maioria dos editores implementa esses controles adicionando um acima do contêiner de exibição do anúncio que é mais transparente. Normalmente, os controles são elementos filhos dessa visualização que ocultam completamente o player de vídeo. Essa sobreposição transparente é usada para capturar eventos de toque e, em seguida, para renderizar os controles para os usuários quando tocados.

Quando a visibilidade do anúncio pelo SDK do Open Measurement é calculada, todas as visualizações que se sobrepõem ao elemento de mídia são consideradas obstruções e reduzem a taxa de visibilidade. No caso em que uma sobreposição de toque transparente fica acima de todo o contêiner de exibição de anúncios, é possível que o inventário seja declarado como completamente invisível.

O SDK do Open Measurement fornece provisionamentos para que os controles de vídeo sejam considerados "amigável" obstruções que são essenciais para a experiência do usuário. Depois de serem registrados como amigáveis, esses controles são excluídos da medição de visibilidade do anúncio.

Com a compatibilidade do IAB e do MRC, o SDK do IMA introduz uma API para registrar esses sobreposições com o SDK do Open Measurement. Esses controles devem ser totalmente transparentes sobreposições ou botões pequenos. Todas as outras visualizações não relacionadas aos controles de vídeo não precisam ser registradas.

Registre-se NÃO se registre
  • Sobreposição transparente para capturar toques do usuário
  • Botões temporários
    • Pausar
    • Reproduzir
    • Tela cheia
    • Transmitir/AirPlay
    • Recolher
    • Progresso/procura
    • Outras ações relevantes para reprodução
  • Marcas-d'água
  • Pop-ups
  • Caixas de diálogo
  • Botões não temporários
  • Outras opiniões ocultas

O exemplo de código abaixo demonstra como registrar sobreposições de controles de vídeo no contêiner de exibição de anúncios:

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);

Quando terminar de usá-las, ligue para o método a seguir:

displayContainer.unregisterAllFriendlyObstructions();