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úncio VAST e envia dados de visibilidade aos
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 de sobreposição de 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 com um toque do usuário e não ficam visíveis na 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 completamente 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 sobrepostas 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 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 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 inscreva |
---|---|
|
|
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];