Los SDK de IMA facilitan la integración de anuncios multimedia en tus sitios web y apps. Los SDK de IMA pueden solicitar anuncios desde cualquier servidor de anuncios compatible con VAST y administrar la reproducción de anuncios en tus apps. Con los SDK de IMA del cliente, mantienes el control de la reproducción de video de contenido, mientras que el SDK controla la reproducción de anuncios. Los anuncios se reproducen en un reproductor de video independiente que se posiciona sobre el reproductor de video de contenido de la app.
En esta guía, se muestra cómo integrar el SDK de IMA en una app de reproductor de video simple. Si deseas ver o seguir una integración de muestra completa, descarga el ejemplo simple de GitHub. Si te interesa un reproductor HTML5 con el SDK integrado previamente, consulta el complemento del SDK de IMA para Video.js.
Descripción general del cliente de IMA
La implementación del cliente de IMA implica cuatro componentes principales del SDK, que se muestran en esta guía:
AdDisplayContainer: Es un objeto contenedor que especifica dónde IMA renderiza los elementos de la IU del anuncio y mide la visibilidad, incluidas Vista activa y Medición abierta.AdsLoader: Es un objeto que solicita anuncios y controla los eventos de las respuestas de solicitud de anuncios. Solo debes crear una instancia de un cargador de anuncios, que se puede reutilizar durante la vida útil de la aplicación.AdsRequest: Es un objeto que define una solicitud de anuncios. Las solicitudes de anuncios especifican la URL de la etiqueta de anuncio de VAST, así como parámetros adicionales, como las dimensiones del anuncio.AdsManager: Es un objeto que contiene la respuesta a la solicitud de anuncios, controla la reproducción de anuncios y escucha los eventos de anuncios que activa el SDK.
Requisitos previos
Necesitarás lo siguiente antes de comenzar:
- Tres archivos vacíos:
- index.html
- style.css
- ads.js
- Python instalado en tu computadora o un servidor web para usar en las pruebas
1. Inicia un servidor de desarrollo
Como el SDK de IMA carga dependencias con el mismo protocolo que la página desde la que se carga, debes usar un servidor web para probar tu app. La forma más sencilla de iniciar un servidor de desarrollo local es usar el servidor integrado de Python.
- Con una línea de comandos, desde el directorio que contiene
tu archivo index.html, ejecuta lo siguiente:
python -m http.server 8000
- En un navegador web, ve a
http://localhost:8000/.
También puedes usar cualquier otro servidor web, como el servidor HTTP de Apache.
2. Crea un reproductor de video simple
Primero, modifica index.html para crear un elemento de video HTML5 simple, contenido en un elemento de ajuste
y un botón para activar la reproducción. En el siguiente ejemplo, se importa el SDK de IMA y se configura
el AdDisplayContainer elemento contenedor. Para obtener más detalles, consulta los
Importa el SDK de IMA
y
Crea el contenedor de anuncios
pasos, respectivamente.
Agrega las etiquetas necesarias para cargar los archivos style.css y ads.js. Luego, modifica styles.css para que el reproductor de video responda a los dispositivos móviles. Por último, en ads.js, declara tus variables y activa la reproducción de video cuando hagas clic en el botón de reproducción.
Ten en cuenta que el fragmento de código ads.js contiene una llamada a setUpIMA(), que se define en la sección
Inicializa el AdsLoader y realiza una solicitud de anuncios
.
3. Importa el SDK de IMA
A continuación, agrega el framework de IMA con una etiqueta de secuencia de comandos en index.html, antes de la etiqueta para
ads.js.
4. Crea el contenedor de anuncios
En la mayoría de los navegadores, el SDK de IMA usa un elemento contenedor de anuncios dedicado para mostrar anuncios y
elementos de la IU relacionados con los anuncios. Este contenedor debe tener el tamaño adecuado para superponer el elemento de video desde la
esquina superior izquierda. El objeto
adsManager establece la altura y el ancho de los anuncios colocados en este contenedor, por lo que no necesitas establecer estos valores de forma manual.
Para implementar este elemento contenedor de anuncios, primero crea un div nuevo dentro del
video-container elemento. Luego, actualiza el CSS para posicionar el elemento en la esquina superior izquierda
del video-element. Por último, agrega la createAdDisplayContainer()
función para crear el
AdDisplayContainer objeto con el nuevo contenedor de anuncios
div.
5. Inicializa el AdsLoader y realiza una solicitud de anuncios
Para solicitar anuncios, crea una
AdsLoader
instancia. El constructor AdsLoader toma un
AdDisplayContainer
objeto como entrada y se puede usar para procesar
AdsRequest
objetos asociados con una URL de etiqueta de anuncio especificada. La etiqueta de anuncio que se usa en este ejemplo contiene un
anuncio previo al video de 10 segundos. Puedes probar esta o cualquier URL de etiqueta de anuncio con el
Inspector de paquetes de video de IMA.
Como práctica recomendada, solo mantén una instancia de AdsLoader durante todo el
ciclo de vida de una página. Para realizar solicitudes de anuncios adicionales, crea un objeto AdsRequest
nuevo, pero vuelve a usar el mismo AdsLoader. Para obtener más información, consulta las
Preguntas frecuentes del SDK de IMA.
Escucha y responde a los anuncios cargados y a los eventos de error con AdsLoader.addEventListener.
Escucha los siguientes eventos:
ADS_MANAGER_LOADEDAD_ERROR
Para crear los objetos de escucha onAdsManagerLoaded() y onAdError(), consulta el
siguiente ejemplo:
6. Responde a los eventos de AdsLoader
Cuando el AdsLoader carga anuncios correctamente, emite un
ADS_MANAGER_LOADED evento. Analiza el evento que se pasa a la devolución de llamada para inicializar el
AdsManager objeto. El AdsManager carga los anuncios individuales según lo definido por
la respuesta a la URL de la etiqueta de anuncio.
Asegúrate de controlar los errores que se produzcan durante el proceso de carga. Si los anuncios no se cargan, asegúrate de que la reproducción de contenido multimedia continúe sin anuncios para evitar interferir con el usuario que ve el contenido.
Para obtener más detalles sobre los objetos de escucha establecidos en la función onAdsManagerLoaded(), consulta
las siguientes subsecciones:
Cómo controlar errores de AdsManager
El controlador de errores creado para el AdsLoader también puede servir como controlador de errores para
el AdsManager. Consulta el controlador de eventos que reutiliza la función onAdError().
Cómo controlar eventos de reproducción y pausa
Cuando el AdsManager está listo para insertar un anuncio para mostrarlo, activa el
CONTENT_PAUSE_REQUESTED evento. Para controlar este evento, activa una pausa en el
reproductor de video subyacente. Del mismo modo, cuando se completa un anuncio, el AdsManager activa el
CONTENT_RESUME_REQUESTED evento. Para controlar este evento, reinicia la reproducción en el
video de contenido subyacente.
Para obtener definiciones de las funciones onContentPauseRequested() y
onContentResumeRequested(), consulta el siguiente ejemplo:
Cómo controlar la reproducción de contenido durante los anuncios no lineales
El AdsManager pausa el video de contenido cuando un anuncio está listo para reproducirse, pero este
comportamiento no tiene en cuenta los anuncios no lineales, en los que el contenido continúa reproduciéndose mientras se
muestra.
Para admitir anuncios no lineales, escucha el AdsManager para que emita el
LOADED evento. Comprueba si el anuncio es lineal y, si no lo es, reanuda la reproducción en el
elemento de video.
Para obtener la definición de la función onAdLoaded(), consulta el siguiente ejemplo.
7. Activa la función de clic para pausar en dispositivos móviles
Como el AdContainer superpone el elemento de video, los usuarios no pueden interactuar directamente con
el reproductor subyacente. Esto puede confundir a los usuarios en dispositivos móviles, que esperan poder presionar un
reproductor de video para pausar la reproducción. Para solucionar este problema, el SDK de IMA pasa cualquier clic que no controle IMA desde la superposición de anuncios al elemento AdContainer, donde se pueden controlar. Esto no se aplica a los anuncios lineales en navegadores que no son para dispositivos móviles, ya que, si se hace clic en el anuncio, se abre el
vínculo de destino.
Para implementar la función de clic para pausar, agrega la función de controlador de clics adContainerClick() llamada
en el objeto de escucha de carga de la ventana.
8. Inicia el AdsManager
Para iniciar la reproducción de anuncios, inicia el AdsManager. Para admitir completamente los navegadores para dispositivos móviles, en los que no puedes reproducir anuncios automáticamente, activa la reproducción de anuncios a partir de las interacciones del usuario
con la página, como hacer clic en el botón de reproducción.
9. Admite el cambio de tamaño del reproductor
Para que los anuncios cambien de tamaño de forma dinámica y coincidan con el tamaño de un reproductor de video, o para que coincidan con los cambios en la orientación de la pantalla, llama a adsManager.resize() en respuesta a los eventos de cambio de tamaño de la ventana.
Eso es todo. Ahora solicitas y muestras anuncios con el SDK de IMA. Para obtener información sobre las funciones más avanzadas del SDK, consulta las otras guías o las muestras en GitHub.