Ativar a Open Measurement

Selecione a plataforma: HTML5 Android iOS

O SDK do IMA para iOS 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 iOS, o SDK do OM incluído analisa automaticamente a tag <AdVerifications> 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 é compatível com o SDK do OM v1.4, as extensões AdVerifications do GAM no VAST 2 e versões mais recentes e o nó AdVerifications no VAST 4 e versões mais recentes.Para aproveitar o Open Measurement, tenha em mente os seguintes pontos:

  • Para usar o Open Measurement, é necessário ter a versão 3.9.0 ou mais recente do SDK do IMA para iOS.

  • 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 versões mais recentes. Caso contrário, <Extension type="AdVerifications"> deverá ser usado.

  • Evite cobrir o AdDisplayContainer com sobreposições (transparentes ou opacas), já que elas serão sinalizadas como obstruções pelo SDK do OM e reduzirão a visibilidade.

Pré-requisitos

Teste

Para testar o Open Measurement usando o SDK do IMA, use uma versão do IMA que seja compatível com o 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 prática de renderizar 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 mostra os controles de renderização:

Abrir imagem de exemplo de sobreposição de medição

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. Geralmente, 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 do Open Measurement oferece provisões para que os controles de vídeo sejam 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 do anúncio.

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
  • Sobreposição transparente para capturar toques do usuário
  • Botões temporários
    • Pausar
    • Google Play
    • Tela cheia
    • Transmitir/AirPlay
    • Recolher
    • Progresso/Buscar
    • Outras ações relevantes de reprodução
  • Marcas-d'água
  • Pop-ups
  • Caixas de diálogo
  • Botões não temporários
  • Outras visualizações de ocultação

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:

   UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
   UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
   // Replace myTransparentTapOverlay and myPauseButton with your own elements
   // that function as video control overlays.
   // Make sure to register before ad playback starts.
   IMAFriendlyObstruction *overlayObstruction =
      [[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
                                           purpose:IMAFriendlyObstructionPurposeNotVisible
                                    detailedReason:@"This overlay is transparent"];
   IMAFriendlyObstruction *pauseButtonObstruction =
      [[IMAFriendlyObstruction alloc] initWithView:myPauseButton
                                           purpose:IMAFriendlyObstructionPurposeMediaControls
                                    detailedReason:@"This is the video player pause button"];

   [displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];

Quando terminar, essas obstruções poderão ser removidas chamando o seguinte método:

Objective-C

- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
    // This removes all previously registered friendly obstructions from the container.
    [displayContainer unregisterAllFriendlyObstructions];
}

Swift

func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
  // This removes all previously registered friendly obstructions from the container.
  displayContainer.unregisterAllFriendlyObstructions()
}