En application.js, crea la clase principal para tu app de HbbTV que interactúa con la transmisión de HbbTV. Esta clase interactúa con broadcastAppManager y broadcastContainer. Para ver un ejemplo de una clase similar, consulta
Cómo controlar el objeto a/v de transmisión.
Modifica esta app base de HbbTV para solicitar una transmisión de IMA y responder a los eventos de pausas publicitarias.
Inicializa la aplicación
Inicializa la clase de aplicación en application.js, configura
broadcastAppManager y broadcastContainer siguiendo el instructivo
Cómo controlar el objeto a/v de transmisión.
Luego, inicia los objetos VideoPlayer y AdManager nuevos.
Realiza una solicitud de transmisión de IMA
En el método HbbTVApp.onPlayStateChangeEvent(), realiza una solicitud de transmisión en respuesta a que la app cambie a PRESENTING_PLAYSTATE. Este enfoque prepara tu app para cargar el manifiesto de pod de anuncios en respuesta a un evento AD_BREAK_EVENT_ANNOUNCE.
Si tu dispositivo no emite correctamente el evento PlayStateChange del contenedor de transmisión, usa la función setInterval() para verificar los cambios de estado de reproducción:
setInterval(function() {
if (!subscribedToStreamEvents &&
this.broadcastContainer.playState == PRESENTING_PLAYSTATE) {
subscribedToStreamEvents = true;
this.broadcastContainer.addStreamEventListener(
STREAM_EVENT_URL, 'eventItem', function(event) {
this.onStreamEvent(event);
}.bind(this));
debugView.log('Subscribing to stream events');
this.adManager.requestStream(NETWORK_CODE, CUSTOM_ASSET_KEY);
}
…
Escucha los eventos de transmisión de HbbTV
Crea el método HbbTVApp.onStreamEvent() para escuchar los eventos de pausas publicitarias adBreakAnnounce, adBreakStart y adBreakEnd:
Controla los eventos de transmisión de HbbTV
Para controlar los eventos de transmisión de HbbTV, completa los siguientes pasos:
Para cargar el manifiesto de pod de anuncios en respuesta al evento
adBreakAnnounce, crea el métodoHbbTVApp.onAdBreakAnnounce():Para cambiar a la reproducción de transmisión de anuncios durante las pausas publicitarias, crea el método
HbbTVApp.onAdBreakStart():Para volver a la transmisión de contenido, crea el método
HbbTVApp.onAdBreakEnd():
Ahora solicitas y muestras grupos de anuncios del SDK de IMA en tu app de HbbTV. Para comparar tu app con una app de ejemplo completa, consulta la muestra de IMA HbbTV en GitHub.