Este guia aborda a integração do SDK do IMA DAI a um app de player de vídeo. Se você quiser conferir ou acompanhar um exemplo de integração concluído, baixe o PodServingExample no GitHub.
Visão geral da DAI do IMA
A implementação da DAI do IMA envolve quatro componentes principais do SDK, conforme demonstrado neste guia:
IMAAdDisplayContainer: um objeto de contêiner que fica sobre o elemento de reprodução de vídeo e abriga os elementos da interface do anúncio.IMAAdsLoader: um objeto que solicita streams e processa eventos acionados por objetos de resposta de solicitação de stream. Instancie apenas um carregador de anúncios, que pode ser reutilizado durante toda a vida útil do aplicativo.IMAStreamRequest: umIMAPodVODStreamRequestou umIMAPodStreamRequest.IMAStreamManager: um objeto que processa streams de inserção de anúncios dinâmicos e interações com o back-end da DAI. O gerenciador de stream também processa pings de rastreamento e encaminha eventos de stream e de anúncio para o editor.
Além disso, para reproduzir streams de veiculação de pod, implemente um gerenciador de VTP personalizado. Esse gerenciador personalizado envia o ID do stream para seu parceiro técnico de vídeo (VTP, na sigla em inglês) com outras informações necessárias para retornar um manifesto de stream que contém o conteúdo e os anúncios integrados. O VTP fornece instruções sobre como implementar o gerenciador personalizado.
Pré-requisitos
Antes de começar, os seguintes itens são necessários:
- Xcode 13 ou mais recente
- Método para instalar o SDK do IMA:
- Gerenciador de pacotes do Swift (preferencial)
- Uma cópia para download do SDK do IMA para iOS
Você também precisa dos parâmetros para solicitar seu stream do SDK do IMA.
| Parâmetros de transmissão ao vivo | |
|---|---|
| Código de rede |
O código de rede da sua conta do Ad Manager 360. |
| Chave de recurso personalizada |
A chave de recurso personalizada que identifica seu evento de veiculação de pod no Ad Manager 360. Seu manipulador de manifesto ou parceiro terceirizado de veiculação de conjunto cria isso. |
| Parâmetros de stream de VOD | |
| Código de rede |
O código de rede da sua conta do Ad Manager 360. |
Criar um novo projeto do Xcode
No Xcode, crie um projeto do iOS usando Objective-C chamado "PodServingExample".
Adicionar o SDK de DAI do IMA ao projeto do Xcode
Para instalar o SDK do IMA, escolha um método.
Recomendado: instalar o SDK usando o Gerenciador de Pacotes do Swift
O SDK do Interactive Media Ads é compatível com o Gerenciador de Pacotes do Swift a partir da versão 3.18.4. Siga estas etapas para importar o pacote Swift.
No Xcode, instale o pacote Swift do SDK do DAI do IMA: acesse File > Add Packages.
No comando que aparece, pesquise o repositório do GitHub do pacote Swift do SDK do DAI do IMA:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosSelecione a versão do pacote Swift do SDK do IMA para DAI que você quer usar. Para novos projetos, use a opção Up to Next Major Version.
Quando terminar, o Xcode vai resolver as dependências do pacote e fazer o download delas em segundo plano. Para mais detalhes sobre como adicionar dependências de pacotes, consulte o artigo da Apple.
Fazer o download e instalar o SDK manualmente
Se você não quiser usar o Gerenciador de pacotes do Swift, faça o download e adicione manualmente o SDK do IMA ao seu projeto.
Criar um player de vídeo
Implemente um player de vídeo no controlador de visualização principal. Envolva um player AV em uma visualização de interface. O SDK do IMA usa a visualização da interface para mostrar os elementos da interface do anúncio de display.
Objective-C
Swift
Inicializar o carregador de anúncios
Importe o SDK do IMA para o controlador de visualização e adote os protocolos
IMAAdsLoaderDelegate
e
IMAStreamManagerDelegate
para processar eventos do carregador de anúncios e do gerenciador de streams.
Adicione estas propriedades particulares para armazenar os principais componentes do SDK do IMA:
IMAAdsLoader- Gerencia solicitações de stream durante o ciclo de vida do app.
IMAAdDisplayContainer- Processa a inserção e o gerenciamento de elementos da interface do usuário do anúncio.
IMAAVPlayerVideoDisplay: comunica-se entre o SDK do IMA e seu player de mídia e processa metadados programados.IMAStreamManager: gerencia a reprodução de stream e aciona eventos relacionados a anúncios.
Inicialize o carregador de anúncios, o contêiner de exibição de anúncios e a exibição de vídeo depois que a visualização for carregada.
Objective-C
Swift
Fazer uma solicitação de stream
Quando um usuário pressionar o botão de reprodução, faça uma nova solicitação de stream.
Use a classe
IMAPodStreamRequest
para transmissões ao vivo. Para streams de VOD, use a classe
IMAPodVODStreamRequest.
A solicitação de stream requer os parâmetros de stream, além de uma referência ao contêiner de exibição de anúncios e à exibição de vídeo.
Objective-C
Swift
Detectar eventos de carregamento de stream
A classe IMAAdsLoader
chama os métodos
IMAAdsLoaderDelegate
quando a inicialização da solicitação de stream é bem-sucedida ou falha.
No método delegado adsLoadedWithData, defina seu IMAStreamManagerDelegate.
Transmita o ID do stream para o gerenciador de VTP personalizado e recupere o URL do manifesto do stream. Para transmissões ao vivo, carregue o URL do manifesto na exibição de vídeo
e inicie a reprodução. Para streams de VOD, transmita o URL do manifesto para o método
loadThirdPartyStream
do gerenciador de streams. Esse método solicita dados de eventos de anúncio do Ad Manager 360, carrega o URL do manifesto e inicia a reprodução.
No método delegado failedWithErrorData, registre o erro. Se quiser, reproduza o stream de backup. Consulte as
práticas recomendadas de DAI.
Objective-C
Swift
Implementar o gerenciador de VTP personalizado
O gerenciador de VTP personalizado envia o ID do stream do espectador para seu parceiro técnico de vídeo (VTP, na sigla em inglês) junto com outras informações que o VTP precisa para retornar um manifesto de stream com o conteúdo e os anúncios inseridos. Seu VTP fornece instruções específicas sobre como implementar o gerenciador de VTP personalizado.
Por exemplo, um VTP pode incluir um URL de modelo de manifesto que contém a macro
[[STREAMID]]. Neste exemplo, o gerenciador insere o ID do stream no lugar da macro e retorna o URL do manifesto resultante.
Objective-C
Swift
Detectar eventos de anúncio
O IMAStreamManager
chama os métodos
IMAStreamManagerDelegate
para transmitir eventos e erros de stream ao aplicativo.
Neste exemplo, registre os principais eventos de anúncio no console:
Objective-C
Swift
Limpar recursos de DAI do IMA
Para interromper a reprodução do stream, interrompa todo o rastreamento de anúncios e libere todos os recursos de stream carregados, chame IMAStreamManager.destroy().
Execute o app. Se tudo der certo, solicite e reproduza streams de DAI do Google com o SDK do IMA. Para saber mais sobre os recursos avançados do SDK, consulte outros guias listados na barra lateral esquerda ou exemplos no GitHub.