Los SDKs de IMA facilitan la integración de anuncios multimedia en tus sitios web y aplicaciones. Los SDKs de IMA pueden solicitar anuncios de cualquier servidor de anuncios compatible con VAST y administrar la reproducción de anuncios en tus aplicaciones. Con los SDKs de IMA DAI, las apps realizan una solicitud de transmisión para el video del anuncio y el contenido, ya sea VOD o contenido en vivo. Luego, el SDK devuelve una transmisión de video combinada, de modo que no tengas que administrar el cambio entre el anuncio y el video de contenido en tu app.
Selecciona la solución de DAI que te interesa
DAI de servicio completo
En esta guía, se muestra cómo integrar el SDK de IMA DAI en una app de reproductor de video. Si deseas ver o seguir una integración de muestra completa, descarga el ejemplo simple de GitHub.
Descripción general de la DAI de IMA
La implementación del SDK de DAI de IMA incluye dos componentes principales, como se muestra en esta guía:
StreamRequest
: Puede ser un objetoVODStreamRequest
o un objetoLiveStreamRequest
que define una solicitud de transmisión. Las solicitudes de transmisión pueden ser para videos on demand o transmisiones en vivo. Las solicitudes de transmisión en vivo especifican una clave de recurso, mientras que las solicitudes de VOD especifican un ID de CMS y un ID de video. Ambos tipos de solicitudes pueden incluir, de forma opcional, una clave de API necesaria para acceder a las transmisiones especificadas y un código de red de Google Ad Manager para que el SDK de IMA controle los identificadores de anuncios según se especifica en la configuración de Google Ad Manager.StreamManager
: Objeto que controla las transmisiones de inserción de anuncios dinámicos y las interacciones con el backend de DAI. El administrador de transmisiones también controla los pings de seguimiento y reenvía los eventos de transmisiones y anuncios al publicador.
Requisitos previos
- Tres archivos vacíos
- dai.html
- dai.css
- dai.js
- Python instalado en tu computadora o un servidor web para usar en las pruebas
Inicia un servidor de desarrollo
Dado que el SDK de IMA DAI carga dependencias con el mismo protocolo que la página desde la que se carga, debes usar un servidor web para probar tu app. Una forma rápida de iniciar un servidor de desarrollo local es usar el servidor integrado de Python.
Desde una línea de comandos, ejecuta lo siguiente desde el directorio que contiene tu archivo
index.html
: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.
Crea un reproductor de video
Primero, modifica dai.html para crear un elemento de video HTML5 y un div para usarlo en el clic. En el siguiente ejemplo, se importa el SDK de IMA DAI. Para obtener más detalles, consulta Cómo importar el SDK de DAI de IMA.
Además, agrega las etiquetas necesarias para cargar los archivos dai.css
y dai.js
, así como para importar el reproductor de video hls.js
. Luego, modifica dai.css
para especificar el tamaño y la posición de los elementos de la página.
Por último, en dai.js
, define variables para contener la información de la solicitud de transmisión, una función initPlayer()
para ejecutar cuando se cargue la página y configura el botón de reproducción para solicitar una transmisión cuando se haga clic.
Para reanudar la reproducción durante las pausas publicitarias pausadas, configura objetos de escucha de eventos para los eventos pause
y start
del elemento de video para mostrar y ocultar los controles del reproductor.
Carga el SDK de IMA DAI
A continuación, agrega el framework de IMA con una etiqueta de secuencia de comandos en dai.html, antes de la etiqueta de dai.js.
Inicializa StreamManager
Para solicitar un conjunto de anuncios, crea un objeto ima.dai.api.StreamManager
, que es responsable de solicitar y administrar transmisiones de DAI. El constructor toma un elemento de video y un elemento de IU del anuncio para controlar los clics en el anuncio.
Realiza una solicitud de transmisión
Define funciones para solicitar transmisiones. Este ejemplo incluye funciones para VOD y transmisiones en vivo, que crean instancias de la clase VODStreamRequest
y la clase LiveStreamRequest
. Después de obtener la instancia de streamRequest
, llama al método streamManager.requestStream()
con la instancia de la solicitud de transmisión.
Ambos métodos de solicitud de transmisión toman una clave de API opcional. Si usas una transmisión protegida, debes crear una clave de autenticación de DAI. Para obtener más detalles, consulta Cómo autenticar solicitudes de transmisión de video por Internet de DAI.
Ninguna de las transmisiones de este ejemplo está protegida con una clave de autenticación de DAI, por lo que no se usa apiKey
.
Analiza los metadatos de la transmisión
También debes agregar un controlador para escuchar los eventos de metadatos cronometrados y reenviar los eventos a la clase StreamManager
para que IMA emita eventos de anuncios durante las pausas publicitarias:
En esta guía, se usa el reproductor hls.js
para la reproducción de transmisiones, pero la implementación de metadatos depende del tipo de reproductor que uses.
Cómo controlar eventos de transmisión
Implementa objetos de escucha de eventos para los eventos de video principales. En este ejemplo, se controlan los eventos LOADED
, ERROR
, AD_BREAK_STARTED
y AD_BREAK_ENDED
llamando a una función onStreamEvent()
. Esta función controla la carga de transmisiones, los errores de transmisión y la inhabilitación de los controles del reproductor durante la reproducción de anuncios, lo que requiere el SDK de IMA.
Cuando se carga la transmisión, el reproductor de video carga y reproduce la URL proporcionada con una función loadUrl()
.
Eso es todo. Ahora solicitas y muestras anuncios con el SDK de DAI de IMA. Para obtener información sobre las funciones más avanzadas del SDK, consulta las otras guías o los ejemplos en GitHub.