Os SDKs do IMA facilitam a integração de anúncios multimídia em sites e apps. Eles 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 do IMA do lado do cliente, você mantém o controle da reprodução de vídeos de conteúdo, enquanto o SDK processa a reprodução de anúncios. Os anúncios são veiculados em um player de vídeo separado, posicionado acima do player de vídeo de conteúdo do app.
Este guia demonstra como integrar o SDK do IMA a um app de player de vídeo simples. Se você quiser conferir ou acompanhar uma integração de exemplo concluída, faça o download do exemplo simples do GitHub. Se você tiver interesse em um player HTML5 com o SDK pré-integrado, confira o plug-in do SDK do IMA para Video.js.
Visão geral do IMA do lado do cliente
A implementação do IMA do lado do cliente envolve quatro componentes principais do SDK, que são demonstrados neste guia:
AdDisplayContainer: Um objeto de contêiner que especifica onde o IMA renderiza elementos da interface de anúncio e mede a visibilidade, incluindo Active View e Open Measurement.AdsLoader: um objeto que solicita anúncios e processa eventos de respostas de solicitações de anúncios. Você só precisa instanciar um carregador de anúncios, que pode ser reutilizado durante todo o ciclo de vida do aplicativo.AdsRequest: Um objeto que define uma solicitação de anúncio. As solicitações de anúncio especificam o URL da tag de anúncio VAST, bem como outros parâmetros, como dimensões do anúncio.AdsManager: Um objeto que contém a resposta à solicitação de anúncios, controla a reprodução de anúncios e detecta eventos de anúncios disparados pelo SDK.
Pré-requisitos
Antes de começar, você precisará de:
- Três arquivos vazios:
- index.html
- style.css
- ads.js
- O Python instalado no seu computador ou um servidor da Web para usar nos testes
1. Iniciar um servidor de desenvolvimento
Como o SDK do IMA carrega dependências usando o mesmo protocolo da página em que é carregado, você precisa usar um servidor da Web para testar seu app. A maneira mais simples de iniciar um servidor de desenvolvimento local é usar o servidor integrado do Python.
- Usando uma linha de comando, no diretório que contém
o arquivo index.html, execute:
python -m http.server 8000
- Em um navegador da Web, acesse
http://localhost:8000/
Você também pode usar qualquer outro servidor da Web, como o Apache HTTP Server.
2. Criar um player de vídeo simples
Primeiro, modifique index.html para criar um elemento de vídeo HTML5 simples, contido em um elemento de wrapper
e um botão para acionar a reprodução. O exemplo a seguir importa o SDK do IMA e configura
o AdDisplayContainer elemento de contêiner. Para mais detalhes, consulte as
Importar o SDK do IMA
e
Criar o contêiner de anúncios
etapas, respectivamente.
Adicione as tags necessárias para carregar os arquivos style.css e ads.js. Em seguida, modifique styles.css para tornar o player de vídeo responsivo para dispositivos móveis. Por fim, em ads.js, declare suas variáveis e acione a reprodução de vídeo quando você clicar no botão "Reproduzir".
O snippet de código ads.js contém uma chamada para setUpIMA(), que é definida na seção
Inicializar o AdsLoader e fazer uma solicitação de anúncios
.
3. Importar o SDK do IMA
Em seguida, adicione o framework do IMA usando uma tag script em index.html, antes da tag para
ads.js.
4. Criar o contêiner de anúncios
Na maioria dos navegadores, o SDK do IMA usa um elemento de contêiner de anúncios dedicado para mostrar anúncios e
elementos da interface relacionados a anúncios. Esse contêiner precisa ser dimensionado para sobrepor o elemento de vídeo do
canto superior esquerdo. A altura e a largura dos anúncios colocados nesse contêiner são definidas pelo
adsManager objeto. Portanto, não é necessário definir esses valores manualmente.
Para implementar esse elemento de contêiner de anúncios, primeiro crie um novo div no elemento
video-container. Em seguida, atualize o CSS para posicionar o elemento no canto superior esquerdo
do video-element. Por fim, adicione a createAdDisplayContainer()
função para criar o
AdDisplayContainer objeto usando a nova
div do contêiner de anúncios.
5. Inicializar o AdsLoader e fazer uma solicitação de anúncios
Para solicitar anúncios, crie uma
AdsLoader
instância. O AdsLoader construtor usa um
AdDisplayContainer
objeto como entrada e pode ser usado para processar
AdsRequest
objetos associados a um URL de tag de anúncio especificado. A tag de anúncio usada neste exemplo contém um
anúncio precedente de 10 segundos. Você pode testar essa ou qualquer URL de tag de anúncio usando o
IMA Video Suite Inspector.
Como prática recomendada, mantenha apenas uma instância de AdsLoader para todo o
ciclo de vida de uma página. Para fazer outras solicitações de anúncios, crie um novo AdsRequest
objeto, mas reutilize o mesmo AdsLoader. Para mais informações, consulte as
Perguntas frequentes do SDK do IMA.
Detecte e responda a anúncios carregados e eventos de erro usando AdsLoader.addEventListener.
Detecte os seguintes eventos:
ADS_MANAGER_LOADEDAD_ERROR
Para criar os listeners onAdsManagerLoaded() e onAdError(), consulte o exemplo a seguir:
6. Responder a eventos do AdsLoader
Quando o AdsLoader carrega anúncios com sucesso, ele emite um
ADS_MANAGER_LOADED evento. Analise o evento transmitido ao callback para inicializar o
AdsManager objeto. O AdsManager carrega os anúncios individuais conforme definido por
a resposta ao URL da tag de anúncio.
Verifique se você processa todos os erros que ocorrem durante o processo de carregamento. Se os anúncios não forem carregados, verifique se a reprodução de mídia continua sem anúncios para evitar interferências na visualização do conteúdo pelo usuário.
Para mais detalhes sobre os listeners definidos na função onAdsManagerLoaded(), consulte
as subseções a seguir:
Processar erros do AdsManager
O gerenciador de erros criado para o AdsLoader também pode servir como gerenciador de erros para
o AdsManager. Consulte o manipulador de eventos que reutiliza a função onAdError().
Processar eventos de reprodução e pausa
Quando o AdsManager está pronto para inserir um anúncio para exibição, ele dispara o
CONTENT_PAUSE_REQUESTED evento. Processe esse evento acionando uma pausa no
player de vídeo subjacente. Da mesma forma, quando um anúncio é concluído, o AdsManager dispara o
CONTENT_RESUME_REQUESTED evento. Processe esse evento reiniciando a reprodução no
vídeo de conteúdo subjacente.
Para definições das onContentPauseRequested() e
onContentResumeRequested() funções, consulte o exemplo a seguir:
Processar a reprodução de conteúdo durante anúncios não lineares
O AdsManager pausa o vídeo de conteúdo quando um anúncio está pronto para ser reproduzido, mas esse
comportamento não considera anúncios não lineares, em que o conteúdo continua sendo reproduzido enquanto o anúncio é
mostrado.
Para oferecer suporte a anúncios não lineares, detecte o AdsManager para emitir o
LOADED evento. Verifique se o anúncio é linear e, se não for, retome a reprodução no
elemento de vídeo.
Para a definição da função onAdLoaded(), consulte o exemplo a seguir.
7. Acionar o clique para pausar em dispositivos móveis
Como o AdContainer sobrepõe o elemento de vídeo, os usuários não podem interagir diretamente com
o player subjacente. Isso pode confundir os usuários em dispositivos móveis, que esperam poder tocar em um
player de vídeo para pausar a reprodução. Para resolver esse problema, o SDK do IMA transmite todos os cliques que não são
processados pelo IMA da sobreposição de anúncios para o elemento AdContainer, onde eles podem ser
processados. Isso não se aplica a anúncios lineares em navegadores não móveis, já que clicar no anúncio abre o
link de clique.
Para implementar o clique para pausar, adicione a função de gerenciador de cliques adContainerClick() chamada
no listener de carregamento da janela.
8. Iniciar o AdsManager
Para iniciar a reprodução de anúncios, inicialize e inicie o AdsManager. Para oferecer suporte total a navegadores para dispositivos móveis, em que não é possível reproduzir anúncios automaticamente, acione a reprodução de anúncios a partir de interações do usuário
com a página, como clicar no botão "Reproduzir".
9. Oferecer suporte ao redimensionamento do player
Para que os anúncios sejam redimensionados dinamicamente e correspondam ao tamanho de um player de vídeo ou às mudanças na orientação da tela
, chame adsManager.resize() em resposta a eventos de redimensionamento da janela.
Pronto! Agora você está solicitando e mostrando anúncios com o SDK do IMA. Para saber mais sobre os recursos avançados do SDK, consulte os outros guias ou os exemplos no GitHub.