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 ao
os fornecedores de medição especificados pela API OMID. O SDK do IMA é compatível com esse SDK.
v1.4, extensões Ad Verifications do GAM no VAST 2+,
e o nó Ad Verifications no VAST 4+.Para aproveitar o Open Measurement,
tenha em mente os seguintes pontos:
Para usar o Open Measurement, você precisa ter uma versão 3.9.0 ou superior do SDK do IMA para iOS.
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 a
AdDisplayContainer
com sobreposições (transparentes ou opacas), porque elas serão sinalizadas como obstruções pelo OM e reduzir a visibilidade.
Pré-requisitos
- Caso seus anúncios sejam trafegados pelo Ad Manager, configure uma visibilidade para sua rede do Ad Manager e atribuir esse provedor de visibilidade 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ê verá o <AdVerifications>
retornado na sua 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.
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 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 do todo o contêiner de exibição do anúncio, o inventário pode ser declarado e ficam completamente invisíveis.
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. Uma vez registrados como fáceis de usar, esses controles são excluídos da visibilidade de anúncios de medida.
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. Quaisquer outras visualizações não relacionadas aos controles de vídeo devem não será registrada.
DO registro | NÃO se inscreva |
---|---|
|
|
O exemplo de código a seguir demonstra como registrar sobreposições de controles de vídeo no contêiner de exibição do anúncio:
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];