Modos de operação do SDK
O SDK pode operar em um ou mais modos, dependendo da resposta do anúncio que recebe do anúncio servidor.
- Anúncio único
- Um anúncio que pode ser reproduzido a qualquer momento quando o
start
a mensagem será enviada paraIMAAdsManager
. Sem inicialização especial é necessário para reproduzir um único anúncio. - Conjunto de anúncios
- Diversos anúncios são exibidos 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. A mensagem
start
é ignorada no modo de regras de anúncios. Não é possível ter vários intervalos de anúncio programados em uma única playlist (por exemplo, anúncios precedentes, intermediário ou final). Para mais detalhes sobre a implementação, consulte a Regras de anúncio abaixo.
Regras de anúncio
IMA O SDK do tvOS oferece suporte a playlists de anúncios totalmente automatizadas. Este recurso inserem divisões de anúncio no conteúdo, conforme especificado Google Ad Manager (em inglês) ao programar 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úncios, incluindo precedentes, intermediários e finais.
- Ao programar anúncios no Ad Manager, é possível especificar várias regras de anúncios. como "sempre reproduzir o intervalo de anúncio no início do conteúdo" ou "reproduzir um intervalo comercial 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 lista de anúncios. O SDK processa a lista de reprodução e programa automaticamente os intervalos de anúncio que foram especificado.
- Ao inicializar o
AdsManager
, umIMAContentPlayhead
é transmitido pelo objetoinitializeWithContentPlayhead:adsRenderingSettings:
. a chamada. Se estiver usando um AVPlayer para exibir seu conteúdo, você passará um instância deIMAAVPlayerContentPlayhead
ao SDK quando você cria suaadDisplayContainer
. Esse objeto é usado para acompanhar o progresso da reprodução do conteúdo para que o anúncio são inseridos automaticamente nos horários 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 useinitializeWithContentPlayhead:self
.
- Implemente a interface
- O objeto IMAAdsManagerDelegate é usado para pausar e retomar o conteúdo enquanto os intervalos de anúncio são reproduzidos.
Observação:quando o conteúdo terminar de ser reproduzido ou
o usuário tiver interrompido a reprodução, chame contentComplete
no IMAAdsLoader
para sinalizar ao SDK que o conteúdo
terminar de tocar. Em seguida, o SDK reproduzirá o intervalo de anúncio final, se houver um programado.
O evento ALL_ADS_COMPLETED
é gerado quando todos os intervalos de anúncio têm
tocado. Além disso, o acompanhamento de conteúdo começa quando
initializeWithContentPlayhead:adsRenderingSettings
de IMAAdsManager
é chamado, e você precisa sempre chamar initializeWithContentPlayhead:adsRenderingSettings
antes de reproduzir o conteúdo.