Este guia aborda a integração do SDK de DAI do IMA a um app de player de vídeo. Se você quiser conferir ou acompanhar um exemplo de integração concluído, faça o download do BasicExample 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: umIMAVODStreamRequestou umIMALiveStreamRequest. Um objeto que define uma solicitação de stream. As solicitações de stream podem ser para vídeo on demand ou transmissões ao vivo. As solicitações de transmissão ao vivo especificam uma chave de recurso, enquanto as solicitações de VOD especificam um ID do CMS e um ID do vídeo. Os dois tipos de solicitação podem incluir uma chave de API necessária para acessar streams especificados e um código de rede do Google Ad Manager para que o SDK do IMA processe identificadores de anúncios, conforme especificado nas configurações do Google Ad Manager.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.
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. Para ver exemplos de parâmetros de solicitação, consulte Exemplos de streams.
| Parâmetros de transmissão ao vivo | |
|---|---|
| Chave de recurso |
A chave de recurso
que identifica sua transmissão ao vivo no Google Ad Manager. Exemplo: c-rArva4ShKVIAkNfy6HUQ
|
| Parâmetros de stream de VOD | |
| ID da origem do conteúdo |
O ID da
origem do conteúdo
do Google Ad Manager. Exemplo: 2548831
|
| ID do vídeo |
O ID do vídeo do Google Ad Manager. Exemplo: tears-of-steel
|
| Parâmetros comuns (VOD e transmissão ao vivo) | |
| Código de rede |
Código da rede do Google Ad Manager. Exemplo: 21775744923
|
Criar um novo projeto do Xcode
No Xcode, crie um novo projeto do iOS usando Objective-C chamado "BasicExample".
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
IMALiveStreamRequest
para transmissões ao vivo. Para streams de VOD, use a classe
IMAVODStreamRequest.
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.
Inicialize o gerenciador de stream. Na inicialização, o gerenciador de stream 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
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
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.