O SDK do IMA para Android inclui o
SDK do Open Measurement (OM),
um padrão do setor desenvolvido pelo
Interactive Advertising Bureau (IAB) para permitir a medição de visibilidade e verificação de terceiros. Ao usar o SDK do IMA para
Android, o SDK do OM incluído analisa automaticamente
a <AdVerifications> tag nas tags de anúncio VAST e envia dados de visibilidade para
os fornecedores de medição especificados usando a API OMID. O SDK do IMA oferece suporte ao SDK do OM v1.6, às extensões AdVerifications do GAM no VAST 2 e ao nó AdVerifications no VAST 4.Para aproveitar o Open Measurement, tenha em mente os seguintes pontos:
Para usar o Open Measurement, você precisa ter a versão 3.11.0 ou mais recente do SDK do IMA para Android. No entanto, o exemplo neste guia foi projetado 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 veicular
<AdVerifications>no VAST de acordo com a especificação VAST 4.1 se estiver usando o VAST 4.1 ou mais recente. Caso contrário,<Extension type="AdVerifications">deverá ser usado.Evite cobrir o
AdDisplayContainercom sobreposições (transparentes ou opacas), porque elas serão sinalizadas como obstruções pelo SDK do OM e reduzirão a visibilidade.
Pré-requisitos
- Se os anúncios forem veiculados pelo Ad Manager, configure um provedor de visibilidade para sua rede do Ad Manager e atribua esse provedor de visibilidade ao item de linha.
Teste
Para testar o Open Measurement usando o SDK do IMA, use uma versão do IMA que ofereça suporte ao SDK do OM, além de uma tag de anúncio de teste.
Você verá o <AdVerifications> retornado na resposta VAST.
Registrar obstruções de sobreposição de controles de vídeo
Os controles de vídeo, como botões de pausa ou barras de progresso, fornecem informações e ações essenciais de reprodução aos usuários. Em dispositivos móveis, toques imprecisos e expectativas do usuário tornaram comum a renderização de controles grandes e fáceis de tocar sobre o elemento de mídia. Esses controles geralmente aparecem e desaparecem com um toque do usuário e não ficam visíveis na maior parte do tempo de reprodução.
Para um exemplo de sobreposição de controles de vídeo, consulte a imagem a seguir no app YouTube que renderiza controles:

Ao usar o SDK do IMA, a maioria dos publishers implementa esses controles adicionando uma visualização acima do contêiner de exibição de anúncios que é quase transparente. Normalmente, os controles são elementos filhos dessa visualização que ocluem totalmente o player de vídeo subjacente. Essa sobreposição transparente é usada para capturar eventos de toque e renderizar os controles para os usuários quando tocados.
Quando a visibilidade do anúncio usando o SDK de medição do Open Measurement é calculada, todas as visualizações que sobrepõem o 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 completamente invisível.
O SDK de medição aberta oferece controles de vídeo que são considerados obstruções "amigáveis" essenciais para a experiência do usuário. Depois de registrados como amigáveis, esses controles são excluídos da medição de visibilidade de anúncios.
Com o suporte do IAB e do MRC, o SDK do IMA apresenta uma API para registrar essas sobreposições com o SDK de medição aberta. Esses controles precisam ser sobreposições totalmente transparentes ou botões pequenos. Outras visualizações não relacionadas aos controles de vídeo não podem ser registradas.
| REGISTRAR | NÃO REGISTRAR |
|---|---|
|
|
O exemplo de código a seguir demonstra como registrar sobreposições de controles de vídeo no contêiner de exibição de anúncios:
private void registerFriendlyObstructions(
AdDisplayContainer adDisplayContainer, View transparentTapOverlay, View pauseButton) {
ImaSdkFactory imaSdkFactory = ImaSdkFactory.getInstance();
// Make sure to register all friendly obstructions before ad playback starts.
FriendlyObstruction overlayObstruction =
imaSdkFactory.createFriendlyObstruction(
transparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent");
FriendlyObstruction pauseButtonObstruction =
imaSdkFactory.createFriendlyObstruction(
pauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"This is the video player pause button");
adDisplayContainer.registerFriendlyObstruction(overlayObstruction);
adDisplayContainer.registerFriendlyObstruction(pauseButtonObstruction);
}
Quando terminar, essas obstruções poderão ser removidas chamando o seguinte método:
private void unregisterFriendlyObstructions(AdDisplayContainer adDisplayContainer) {
adDisplayContainer.unregisterAllFriendlyObstructions();
}