Modos de operação do SDK
O SDK pode operar em um ou mais modos, dependendo da resposta do anúncio que ele recebe do servidor de anúncios.
- Anúncio único
- Um anúncio que pode ser reproduzido a qualquer momento quando a mensagem
start
é enviada para oIMAAdsManager
. Nenhuma inicialização especial é necessária para reproduzir um único anúncio. - Conjunto de anúncios
- Vários anúncios reproduzidos em sequência quando a mensagem
start
é enviada para oIMAAdsManager
. Nenhuma inicialização especial é necessária para reproduzir um único conjunto de anúncios. - Regras de anúncio
- Uma playlist de intervalos de anúncio programados em determinados momentos em relação a um conteúdo
específico. A mensagem
start
é ignorada no modo de regras de anúncio. Pode haver vários intervalos de anúncio programados em uma única playlist (por exemplo, precedente, intermediário e final). Para mais detalhes sobre a implementação, consulte a seção Regras de anúncio abaixo.
Regras de anúncio
O SDK do IMA para iOS é compatível com playlists de anúncios totalmente automatizadas. Esse recurso insere intervalos de anúncio no conteúdo, conforme especificado no Google Ad Manager ao programar os anúncios. Isso também simplifica bastante o código do player de vídeo necessário para oferecer compatibilidade com intervalos de anúncios, incluindo anúncios precedentes, intermediários e finais.
- Ao fazer a programação de anúncios no Ad Manager, é possível especificar várias regras, como "sempre reproduzir o intervalo de anúncio no início do conteúdo" ou "reproduzir um intervalo de anúncio de um minuto a cada 30 minutos de conteúdo".
- Quando os anúncios são solicitados, o servidor de anúncios pode retornar uma playlist de anúncios. O SDK processa a playlist e programa automaticamente os intervalos de anúncio que foram especificados.
- Ao inicializar o
AdsManager
, um objetoIMAContentPlayhead
é transmitido pela chamada deinitializeWithContentPlayhead:adsRenderingSettings:
. Se você estiver usando um AVPlayer para exibir seu conteúdo, transmita uma instância deIMAAVPlayerContentPlayhead
para o SDK quando criar seuadDisplayContainer
. Esse objeto é usado para acompanhar o progresso da reprodução do conteúdo para que os intervalos de anúncios sejam inseridos automaticamente nos momentos especificados no Ad Manager.
Com o AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
Sem o AVPlayer:
- Implemente a interface
IMAContentPlayhead
. - Implemente
currentTime
para retornar o horário atual do player de vídeo. - Mude a chamada de inicialização
IMAAdsManager
para usarinitializeWithContentPlayhead:self
.
- Implemente a interface
- O IMAAdsManagerDelegate é usado para pausar e retomar o conteúdo conforme os intervalos de anúncio são reproduzidos.
Observação:quando a reprodução do conteúdo terminar ou
o usuário a interromper, chame contentComplete
no IMAAdsLoader
para sinalizar ao SDK que a reprodução
do conteúdo foi concluída. Em seguida, o SDK reproduzirá o intervalo de anúncio final, se um tiver sido programado.
O evento ALL_ADS_COMPLETED
é gerado quando todos os intervalos de anúncio são
reproduzidos. Além disso, o rastreamento de conteúdo começa quando o método initializeWithContentPlayhead:adsRenderingSettings
de IMAAdsManager
é chamado, e você precisa sempre chamar initializeWithContentPlayhead:adsRenderingSettings
antes de reproduzir o conteúdo.