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 do lado do cliente do IMA, você mantém o controle da reprodução de vídeo 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 player de vídeo simples. Se você quiser ver ou acompanhar um exemplo de integração concluído, baixe o 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 lado do cliente da IMA
A implementação do IMA do lado do cliente envolve quatro componentes principais do SDK, que são demonstrados neste guia:
AdDisplayContainer
: um objeto contêiner que especifica onde a IMA renderiza elementos da interface do anúncio e mede a visibilidade, incluindo o Active View e a Medição aberta.AdsLoader
: um objeto que solicita anúncios e processa eventos de respostas de solicitação de anúncios. Você só precisa instanciar um carregador de anúncios, que pode ser reutilizado durante toda a vida útil do aplicativo.AdsRequest
: um objeto que define uma solicitação de anúncio. As solicitações de anúncios especificam o URL da tag de anúncio VAST, além de 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úncio acionados pelo SDK.
Pré-requisitos
Antes de começar, você precisará de:
- Três arquivos vazios:
- index.html
- style.css
- ads.js
- Python instalado no computador ou um servidor da Web para usar em testes
1. Iniciar um servidor de desenvolvimento
Como o SDK da IMA carrega dependências usando o mesmo protocolo da página em que ele é 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 encapsulamento e um botão para acionar a reprodução. O exemplo a seguir importa o SDK do IMA e configura
o elemento contêiner AdDisplayContainer
. Para mais detalhes, consulte as etapas
Importar o SDK do IMA
e
Criar o contêiner de anúncios
, 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 em dispositivos móveis. Por fim, em ads.js, declare suas variáveis e acione a reprodução do vídeo ao clicar no botão de reprodução.
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 da IMA usando uma tag de script em index.html, antes da tag para
ads.js
.
4. Criar o contêiner de anúncio
Na maioria dos navegadores, o SDK do IMA usa um elemento de contêiner de anúncio dedicado para mostrar anúncios e elementos da interface relacionados a eles. 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 objeto
adsManager
. Portanto, não é necessário definir esses valores manualmente.
Para implementar esse elemento de contêiner de anúncio, 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 função createAdDisplayContainer()
para criar o objeto AdDisplayContainer
usando o novo contêiner de anúncio div
.
5. Inicializar o AdsLoader e fazer uma solicitação de anúncio
Para solicitar anúncios, crie uma instância de
AdsLoader
. O construtor AdsLoader
usa um objeto AdDisplayContainer
como entrada e pode ser usado para processar objetos AdsRequest
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. Teste esse 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
durante todo o
ciclo de vida de uma página. Para fazer outras solicitações de anúncio, crie um novo objeto AdsRequest
, mas reutilize o mesmo AdsLoader
. Para mais informações, consulte as
Perguntas frequentes sobre o SDK do IMA.
Detecte e responda a anúncios carregados e eventos de erro usando AdsLoader.addEventListener
.
Detecte os seguintes eventos:
ADS_MANAGER_LOADED
AD_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, ele emite um evento ADS_MANAGER_LOADED
. Analise o evento transmitido ao callback para inicializar o objeto
AdsManager
. O AdsManager
carrega os anúncios individuais conforme definido pela resposta ao URL da tag de anúncio.
Resolva os erros que ocorrerem 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 interferir na visualização do conteúdo pelo usuário.
Para mais detalhes sobre os listeners definidos na função onAdsManagerLoaded()
, consulte as seguintes subseções:
Processar erros AdsManager
O gerenciador de erros criado para o AdsLoader
também pode servir como gerenciador de erros para
o AdsManager
. Confira o manipulador de eventos reutilizando a função onAdError()
.
Processar eventos de reprodução e pausa
Quando o AdsManager
está pronto para inserir um anúncio de display, ele aciona o evento
CONTENT_PAUSE_REQUESTED
. Para processar esse evento, acione uma pausa no
player de vídeo subjacente. Da mesma forma, quando um anúncio é concluído, o AdsManager
dispara o evento CONTENT_RESUME_REQUESTED
. Para processar esse evento, reinicie a reprodução no vídeo de conteúdo subjacente.
Para definições das funções onContentPauseRequested()
e onContentResumeRequested()
, 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 veiculado, 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 evento LOADED
. 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
fica sobre o elemento de vídeo, os usuários não podem interagir diretamente com o player. 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 podem ser processados. Isso não se aplica a anúncios lineares em navegadores que não são para dispositivos móveis, já que clicar no anúncio abre o link de clique.
Para implementar o recurso de clicar 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, inicie e comece 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 com base nas interações do usuário
com a página, como clicar no botão de reprodução.
9. Compatibilidade com 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 recursos avançados do SDK, consulte os outros guias ou os exemplos no GitHub.