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 ativar 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úncios VAST e envia dados de visibilidade para
os fornecedores de medição especificados pela API OMID.O SDK do IMA oferece suporte ao SDK do OM
v1.4, à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 a versão 3.9.0 ou mais recente do SDK IMA para iOS.
Os anúncios precisam ser configurados para transmitir
<AdVerifications>
no VAST, de acordo com a especificação VAST 4.1 se você estiver usando o VAST 4.1 ou mais recente. Caso contrário, use<Extension type="AdVerifications">
.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
- Se seus anúncios forem veiculados pelo Ad Manager, configure um provedor de visibilidade para sua rede do Ad Manager e atribua esse provedor ao item de linha.
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 na sobreposição dos controles de vídeo
Os controles de vídeo, como botões de pausa ou barras de progresso, fornecem aos usuários informações e ações essenciais de reprodução. 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 desaparecem quando o usuário toca na tela e não ficam visíveis durante a maior parte do tempo de reprodução.
Confira 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 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 ocultam totalmente o player de vídeo. Essa sobreposição transparente é usada para capturar eventos de toque e renderizar os controles para os usuários quando eles tocam.
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 prevê que os controles de vídeo sejam considerados obstruções "amigáveis" que são essenciais para a experiência do usuário. Depois de serem registrados como compatí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 do Open Measurement. Esses controles precisam ser sobreposições totalmente transparentes ou botões pequenos. Todas as outras visualizações não relacionadas aos controles de vídeo não precisam ser registradas.
DO registro | NÃO se registre |
---|---|
|
|
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:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls 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 de usá-las, essas obstruções poderão ser removidas chamando o seguinte método:
[displayContainer unregisterAllFriendlyObstructions];