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 veiculação de conjunto
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.
Este guia demonstra como reproduzir um stream de veiculação de conjunto da DAI usando o SDK DAI da IMA com um player de vídeo para reprodução de streams ao vivo e VOD. Para conferir ou seguir um exemplo de integração concluído, faça o download do exemplo de serviço de pod.
Visão geral da Veiculação de conjunto DAI do IMA
StreamRequest
: um objeto que define uma solicitação de stream para servidores de publicidade do Google. Precisa ser criado usandoImaSdkFactory.createPodStreamRequest()
ouImaSdkFactory.createPodVodStreamRequest()
para ativar a veiculação de pods. Esses métodos exigem um código de rede, ecreatePodStreamRequest
também requer uma chave de recurso personalizada e uma chave de API opcional. Ambos incluem outros parâmetros opcionais.StreamManager
: um objeto que processa a comunicação entre o stream de vídeo e o SDK do IMA DAI, como o disparo de pings de rastreamento e o encaminhamento de eventos de stream para o editor.
Pré-requisitos
Um app Android já configurado com o SDK do IMA DAI para reproduzir streams de vídeo com anúncios de DAI. Se você ainda não tiver um app assim, recomendamos usar o Android DAI BasicExample como ponto de partida. O BasicExample tem a base de código referenciada neste guia.
É importante que seu app envie eventos ID3 usando
VideoStreamPlayerCallback.onUserTextReceived()
para que a DAI do IMA funcione. Confira este exemplo de snippet de código DAI de serviço completo.
Configurar as variáveis de veiculação de conjunto
Todas as mudanças necessárias para a veiculação de pods são feitas em SampleAdsWrapper.java. A primeira etapa é atualizar as variáveis constantes.
Confira as constantes de solicitação de stream de bloco de anúncios que precisam ser adicionadas:
STREAM_URL
: usado apenas em transmissões ao vivo: o URL do stream de vídeo fornecido pelo manipulador de manifesto ou parceiro terceirizado usando a veiculação de conjunto. Ele deve exigir que você insira o ID de stream fornecido pelo SDK do IMA DAI antes de fazer uma solicitação. Nesse caso, o URL do stream inclui um marcador de posição,"[[STREAMID]]"
, que é substituído pelo ID do stream antes de fazer uma solicitação.NETWORK_CODE
: o código de rede da sua conta do Ad Manager 360.CUSTOM_ASSET_KEY
: usada apenas em transmissões ao vivo. É a chave de recurso personalizada que identifica seu evento de veiculação de pods no Ad Manager 360. Ele pode ser criado pelo gerenciador de manifesto ou por um parceiro terceirizado de veiculação de pods.API_KEY
: usada apenas em transmissões ao vivo. Uma chave de API opcional que pode ser necessária para recuperar um ID de stream do SDK do IMA DAI.
O BasicExample do DAI Android foi projetado para reproduzir vários tipos de stream diferentes, mas, para a veiculação de pods, ele é configurado para reproduzir apenas um stream. Mude a seção de variáveis do exemplo para corresponder ao seguinte:
Crie uma solicitação de stream de podcast ao vivo ou VOD para ativar a veiculação de conjunto
Veiculação de pods de transmissões ao vivo
Remove o método buildStreamRequest()
, que era usado para alternar entre
a criação de vários tipos de fluxos. Em seguida, modifique requestAndPlayAds()
para chamar
ImaSdkFactory.createPodStreamRequest()
e criar uma solicitação
de veiculação de anúncio de Live Pod.
Veiculação de conjunto de stream de VOD
Remove o método buildStreamRequest()
, que era usado para alternar entre
a criação de vários tipos de fluxos. Em seguida, modifique requestAndPlayAds()
para chamar
ImaSdkFactory.createPodVodStreamRequest()
e criar uma solicitação
de anúncio de veiculação de pod de VOD.
Depois de criar a instância de solicitação de stream, peça o stream usando
AdsLoader.requestStream()
:
Editar e definir o URL da transmissão
Veiculação de pods de transmissões ao vivo
Chame o método StreamManager.getStreamId()
para receber o ID do fluxo. Isso precisa ser inserido no STEAM_URL
, substituindo "[[STREAMID]]"
. Depois que essa
mudança for feita, defina o novo URL de stream usando o método videoPlayer.setStreamUrl()
e chame o método videoPlayer.play()
para iniciar a reprodução do stream.
Veiculação de conjunto de stream de VOD
- Chame o método
StreamManager.getStreamId()
para receber o ID do fluxo. - Peça um URL de stream ao seu parceiro de tecnologia de vídeo (VTP).
- Depois de receber o URL do VTP, chame o método
StreamManager.loadThirdPartyStream()
com o URL para carregar o stream, além de todas as legendas retornadas pelo VTP.
Para solicitações de veiculação de pod de VOD, a IMA chama o callback VideoStreamPlayer.loadUrl()
quando o stream é carregado. Para iniciar a reprodução da transmissão, adicione as chamadas
videoPlayer.setStreamUrl()
e videoPlayer.play()
ao
callback VideoStreamPlayer.loadUrl()
:
Limpar recursos da DAI da IMA
Quando você terminar de solicitar e exibir anúncios em um fluxo de veiculação de
pod com o SDK de DAI do IMA, recomendamos limpar todos os recursos após a
conclusão da sessão de veiculação de pod. Chame StreamManager.destroy()
para interromper a reprodução
de stream, parar todo o rastreamento de anúncios e liberar todos os recursos de stream carregados.
Para ver outros exemplos do uso do SDK do Android, consulte exemplos no GitHub.