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 veiculaçã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 lida com a reprodução de anúncios. Os anúncios são veiculados em um player de vídeo separado posicionado sobre o 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 ver ou seguir uma integração de exemplo completa, faça o download do exemplo simples no 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 a IMA renderiza elementos da interface do 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çã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úncios. As solicitações de anúncios especificam o URL da tag de anúncio VAST e outros parâmetros, como as 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 ouve eventos de anúncios 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 uso em testes
1. Iniciar um servidor de desenvolvimento
Como o SDK do IMA carrega dependências usando o mesmo protocolo da página de onde 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 união, e um botão para acionar a reprodução. O exemplo a seguir importa o SDK do IMA e configura
o elemento do contêiner AdDisplayContainer
. Para mais detalhes, consulte as etapas
Importar o SDK do IMA
e
Criar o contêiner de anúncios
.
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 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
Inicialize o AdsLoader e faça uma solicitação de anúncios
.
3. Importar o SDK do IMA
Em seguida, adicione o framework IMA usando uma tag de script no 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 de 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
objeto adsManager
. Portanto, não é necessário definir esses valores manualmente.
Para implementar esse elemento de contêiner de anúncios, primeiro crie uma nova 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úncios
div
.
5. Inicializar o AdsLoader e fazer uma solicitação de anúncios
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. É possível testar esse ou qualquer outro URL da tag de anúncio usando o
Video Suite Inspector do IMA.
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 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 abaixo:
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.
Processe todos os erros que ocorrerem durante o carregamento. Se os anúncios não carregarem, verifique se a reprodução de mídia continua sem anúncios para evitar interferência 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
. 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 aciona o
evento CONTENT_PAUSE_REQUESTED
. Processe esse evento acionando uma pausa no
player de vídeo. Da mesma forma, quando um anúncio é concluído, o AdsManager
dispara o
evento CONTENT_RESUME_REQUESTED
. Processe esse evento reiniciando a reprodução no
vídeo de conteúdo.
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 do 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 é
exibido.
Para oferecer suporte a anúncios não lineares, detecte o AdsManager
para emitir o
evento LOADED
. Verifique se o anúncio é linear. Se não for, retome a reprodução no
elemento de vídeo.
Para conferir a definição da função onAdLoaded()
, consulte o exemplo a seguir.
7. Acionar o recurso "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. 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 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, porque clicar no anúncio abre o
link de clique.
Para implementar o recurso "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 exibição de anúncios, inicie e inicie o AdsManager
. Para oferecer suporte total aos navegadores para dispositivos móveis, em que não é possível exibir 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 "play".
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 aos eventos de redimensionamento de janela.
Pronto! Agora você está solicitando e exibindo 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.