Os SDKs do IMA facilitam a integração de anúncios multimídia aos seus sites e apps. Os SDKs do IMA podem solicitar anúncios de qualquer servidor de anúncios compatível com VAST e gerenciar a reprodução de anúncios nos seus apps. Com os SDKs de DAI do IMA, os apps fazem uma solicitação de stream para anúncios e vídeos de conteúdo, seja VOD ou conteúdo ao vivo. Em seguida, o SDK retorna um stream de vídeo combinado para que você não precise gerenciar a troca entre o anúncio e o vídeo de conteúdo no app.
Selecione a solução de DAI que você quer usar
DAI de serviço completo
Este guia demonstra como integrar o SDK do IMA DAI a um app player de vídeo simples. Se você quiser ver ou acompanhar um exemplo de integração concluída, baixe o BasicExample do GitHub.
Visão geral da DAI da IMA
A implementação da DAI da IMA envolve quatro componentes principais do SDK, conforme demonstrado neste guia:
StreamDisplayContainer
: um objeto contêiner que fica acima do elemento de reprodução de vídeo e contém os elementos da interface do anúncio.AdsLoader
: um objeto que solicita streams e processa eventos acionados por objetos de resposta de solicitação de stream. Você só deve instanciar um carregador de anúncios, que pode ser reutilizado durante toda a vida útil do aplicativo.StreamRequest
: 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 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 específicos e um código de rede do Google Ad Manager para que o SDK do IMA processe os identificadores de anúncios conforme especificado nas configurações do Google Ad Manager.StreamManager
: 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 publisher.
Pré-requisitos
- Android Studio
- Exemplo de app player de vídeo para a integração do SDK
Baixar e executar o app de exemplo de player de vídeo
O app de exemplo oferece um player de vídeo funcional que reproduz vídeos HLS. Use isso como ponto de partida para integrar os recursos de DAI do SDK DAI do IMA.
Faça o download e extraia o aplicativo de exemplo de player de vídeo.
Inicie o Android Studio e selecione Abrir um projeto do Android Studio. Se o Android Studio já estiver em execução, selecione Arquivo > Novo > Importar projeto. Em seguida, escolha
SampleVideoPlayer/build.gradle
.Execute uma sincronização do Gradle selecionando Tools > Android > Sync Project with Gradle Files.
Confira se o app player compila e é executado em um dispositivo Android físico ou em um dispositivo virtual Android usando Executar > Executar "app". É normal que o stream de vídeo leve alguns instantes para carregar antes de começar a ser reproduzido.
Examinar o player de vídeo de exemplo
O player de vídeo de exemplo ainda não contém nenhum código de integração do SDK do IMA DAI. O app de exemplo consiste em duas partes principais:
samplevideoplayer/SampleVideoPlayer.java
: um player HLS baseado no ExoPlayer que serve como base para a integração da DAI do IMA.videoplayerapp/MyActivity.java
: essa atividade cria o player de vídeo e transmite umContext
e ummedia3.ui.PlayerView
.
Adicionar o SDK do IMA DAI ao app player
Você também precisa incluir uma referência ao SDK de DAI do IMA. No Android Studio, adicione o seguinte ao arquivo build.gradle no nível do aplicativo, localizado em app/build.gradle. O SDK do IMA exige que a remoção de açúcar sintático da biblioteca esteja ativada. Para isso, defina coreLibraryDesugaringEnabled true
e adicione coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
como uma dependência no arquivo build.gradle. Para mais detalhes, consulte
APIs Java 11 e mais recentes disponíveis por simplificação com a especificação nio.
Integrar o SDK DAI do IMA
Crie uma classe chamada
SampleAdsWrapper
no pacotevideoplayerapp
(emapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
) para encapsular oSampleVideoPlayer
atual e adicione a lógica que implementa a DAI da IMA. Para fazer isso, primeiro crie umAdsLoader
, que é usado para solicitar o stream de DAI.Este snippet inclui parâmetros de exemplo para streams HLS e DASH, ao vivo e VOD. Para definir qual stream está sendo reproduzido, atualize a variável
CONTENT_TYPE
.Crie um método auxiliar
createSampleVideoPlayerCallback()
para processar a criação de uma instância de interfaceSampleVideoPlayerCallback
que estendeVideoStreamPlayer.VideoStreamPlayerCallback
.Para trabalhar com a DAI, o player precisa transmitir eventos ID3 de transmissões ao vivo para o SDK da DAI do IMA. O método
callback.onUserTextReceived()
faz isso no exemplo de código a seguir.Adicione um método
buildStreamRequest()
para criar oSteamRequest
. Esse método alterna entre diferentes streams com base em como você define a variávelCONTENT_TYPE
. O fluxo padrão usado neste guia é o fluxo HLS VOD de amostra do IMA.Você também precisa de um
VideoStreamPlayer
para reproduzir o stream. Portanto, adicione um métodocreateVideoStreamPlayer()
, que cria uma classe anônima que implementaVideoStreamPlayer
.Implemente os listeners necessários e adicione suporte para tratamento de erros.
Observe a implementação de
AdErrorListener
, já que ela chama um URL de fallback se os anúncios não forem veiculados. Como o conteúdo e os anúncios estão em um stream, você precisa estar pronto para chamar um stream alternativo se o stream da DAI encontrar um erro.Adicione código para geração de registros.
Modifique
MyActivity
emvideoplayerapp
para instanciar e chamarSampleAdsWrapper
. Além disso, faça uma chamada paraImaSdkFactory.initialize()
aqui usando um método auxiliar para criar uma instânciaImaSdkSettings
.Adicione o método auxiliar
getImaSdkSettings()
para criar uma instância deImaSdkSettings
.Modifique o arquivo de layout da atividade
activity_my.xml
para adicionar elementos de interface para registro.
Parabéns! Agora você está solicitando e mostrando anúncios em vídeo no seu app Android. Para ajustar a implementação, consulte Favoritos, Snapback e a documentação da API.
Solução de problemas
Se você estiver com problemas para reproduzir um anúncio em vídeo, faça o download do BasicExample concluído. Se ele funcionar corretamente no BasicExample, provavelmente há um problema com o código de integração do IMA do seu app.
Se você ainda estiver com problemas, acesse o fórum do SDK IMA.