Modos de operação do SDK
O SDK pode operar em um ou mais modos, dependendo da resposta de anúncio que recebe do servidor de anúncios.
- Anúncio único
- Um anúncio que pode ser veiculado a qualquer momento quando a mensagem
start
é enviada aoIMAAdsManager
. Nenhuma inicialização especial é necessária para veicular um único anúncio. - Conjunto de anúncios
- Vários anúncios que são 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úncios programados em determinados horários para um conteúdo específico. A mensagem
start
é ignorada no modo de regras de anúncios. É possível programar vários intervalos de anúncios em uma única playlist (por exemplo, precedentes, intermediários e finais). Para mais detalhes sobre a implementação, consulte a seção Regras de anúncios abaixo.
Regras de anúncio
O SDK do tvOS do IMA é 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 fazer o tráfego dos seus anúncios. Ele também simplifica muito o código do player de vídeo necessário para oferecer suporte a intervalos de anúncio, incluindo anúncios precedentes, intermediários e finais.
- Ao fazer o tráfego de anúncios no Ad Manager, é possível especificar várias regras de anúncio, como "sempre veicular um intervalo de anúncio no início do conteúdo" ou "veicular 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 publicidade especificados.
- Ao inicializar o
AdsManager
, um objetoIMAContentPlayhead
é transmitido pela chamadainitializeWithContentPlayhead:adsRenderingSettings:
. Se você estiver usando um AVPlayer para mostrar seu conteúdo, transmita uma instância deIMAAVPlayerContentPlayhead
ao SDK ao criar oadDisplayContainer
. Esse objeto é usado para acompanhar o progresso da reprodução de conteúdo para que os intervalos de anúncios sejam inseridos automaticamente nos horários especificados no Ad Manager.
Com AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
Sem AVPlayer:
- Implemente a interface
IMAContentPlayhead
. - Implemente
currentTime
para retornar o tempo atual do seu 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 quando os intervalos de anúncio são veiculados.
Observação:quando o conteúdo terminar de ser reproduzido ou
o usuário interromper a reprodução, chame contentComplete
no IMAAdsLoader
para sinalizar ao SDK que o conteúdo
terminou de ser reproduzido. Em seguida, o SDK reproduz o bloco de anúncios pós-vídeo, se um tiver sido programado.
O evento ALL_ADS_COMPLETED
é gerado quando todos os intervalos de publicidade são
reproduzidos. Além disso, observe que o rastreamento de conteúdo começa quando o método initializeWithContentPlayhead:adsRenderingSettings
de IMAAdsManager
é chamado, e você sempre precisa chamar initializeWithContentPlayhead:adsRenderingSettings
antes de reproduzir o conteúdo.