En ads_manager.js, define una clase de wrapper para el StreamManager del SDK de IMA que realice solicitudes de transmisión, obtenga el manifiesto del pod de anuncios, escuche los eventos de transmisión de IMA y pase los eventos de emsg al SDK de IMA.
En ads_manager.js, la app de ejemplo de HbbTV de IMA configura los siguientes métodos:
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
Inicializa el administrador de anuncios
Inicializa la clase del administrador de anuncios y establece objetos de escucha para los eventos de transmisión de IMA. En esta llamada, configura el controlador de eventos emsg con el método VideoPlayer.setEmsgEventHandler().
Haz una solicitud para transmitir un pod de anuncios
Crea el método AdManager.requestStream() para crear un objeto PodStreamRequest con el código de red de tu red de Google Ad Manager y la clave de activo personalizada de la transmisión. Prueba tu app de HbbTV con la transmisión de servicio de pod de DASH de muestra de IMA con los siguientes parámetros de transmisión:
- Código de red:
'21775744923' - Clave del activo personalizada:
'hbbtv-dash'
Cómo detectar eventos de transmisión de anuncios
Crea el método AdManager.onStreamEvent() para controlar la respuesta de tu app a los eventos de transmisión de IMA, STREAM_INITIALIZED, AD_BREAK_STARTED y AD_BREAK_ENDED.
Cómo controlar los metadatos del flujo de anuncios
Para pasar la información del evento emsg a IMA, crea el método AdManager.onEmsgEvent() con el método StreamManager.processMetadata(). La clase del reproductor de video llama a este método con el método VideoPlayer.setEmsgEventHandler().
Carga el manifiesto del grupo de anuncios
Crea el método AdManager.loadAdPodManifest() para precargar el manifiesto del grupo de anuncios con el reproductor de video. Construye una URL de manifiesto autenticada con la estructura que se muestra en Método: Manifiesto de Pod de DASH.
La app de ejemplo de HbbTV usa un valor adBreakId único generado de forma aleatoria. En las apps de producción, el valor de adBreakId es una cadena alfanumérica, por ejemplo, ab-001, que se incrementa en uno para cada pausa publicitaria. Verifica que el valor de adBreakId sea el mismo para todos los usuarios que miran la pausa publicitaria. Para obtener un valor de adBreakId, te recomendamos que uses la API de pausas publicitarias de DAI.
En un entorno de producción, incluye el valor adBreakId y el valor podDuration en el evento de transmisión de HbbTV AD_BREAK_ANNOUNCE.
A continuación, crea la clase de aplicación principal para tu app de HbbTV que interactúa con la transmisión de HbbTV.