En esta guía, se muestra cómo integrar el SDK de IMA para DAI en una app de reproductor de video. Si quieres ver o seguir una integración de ejemplo completa, descarga el ejemplo simple de GitHub.
Descripción general de IMA para DAI
La implementación del SDK de IMA para DAI implica dos componentes principales, como se muestra en esta guía:
StreamRequest: Es un objetoVODStreamRequestoLiveStreamRequestque 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: Es un 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 transmisión y de 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 usarlo en las pruebas
Inicia un servidor de desarrollo
Dado que el SDK de IMA para DAI carga las 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.
Con una línea de comandos, desde el directorio que contiene tu archivo
index.html, ejecuta lo siguiente:python -m http.server 8000En 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 que se usará para el clic de redireccionamiento. En el siguiente ejemplo, se importa el SDK de IMA para DAI. Para obtener más detalles, consulta Importa el SDK de IMA para DAI.
Además, agrega las etiquetas necesarias para cargar los archivos dai.css y dai.js, y 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 almacenar la información de la solicitud de transmisión, una función initPlayer() que se ejecute cuando se cargue la página y configura el botón de reproducción para solicitar una transmisión cuando se haga clic en él.
Para reanudar la reproducción durante las pausas publicitarias, 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 para DAI
Luego, agrega el framework de IMA con una etiqueta de secuencia de comandos en dai.html, antes de la etiqueta para dai.js.
Inicializa StreamManager
Para solicitar un conjunto de anuncios, crea un objeto ima.dai.api.StreamManager, que se encarga de solicitar y administrar las transmisiones de DAI. El constructor toma un elemento de video y un elemento de la IU del anuncio para controlar los clics en el anuncio.
Cómo realizar una solicitud de transmisión
Define funciones para solicitar transmisiones. En este ejemplo, se incluyen funciones para
VOD y transmisiones en vivo, que crean instancias de la clase VODStreamRequest
y la clase LiveStreamRequest. Una vez que tengas tu instancia de streamRequest, llama al método streamManager.requestStream() con la instancia de 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 reenviarlos 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 y los errores de la transmisión, y también inhabilita 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, estás solicitando y mostrando anuncios con el SDK de IMA para DAI. Para obtener información sobre las funciones más avanzadas del SDK, consulta las otras guías o los ejemplos en GitHub.