En application.js
, crea la clase principal de tu app para 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 de audio y video de la transmisión.
Modificarás esta app de HbbTV básica 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
según el instructivo Cómo controlar el objeto de audio y video de transmisión.
Luego, inicializa nuevos objetos VideoPlayer
y AdManager
.
Realiza una solicitud de transmisión de IMA
En el método HbbTVApp.onPlayStateChangeEvent()
, realiza una solicitud de transmisión en respuesta al cambio de la app a PRESENTING_PLAYSTATE
. Este enfoque prepara tu app para cargar el manifiesto del pod de anuncios en respuesta a un evento AD_BREAK_EVENT_ANNOUNCE
.
Si tu dispositivo no emite correctamente el evento del contenedor de transmisión PlayStateChange
, usa la función setInterval()
para verificar los cambios en el 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);
}
…
Cómo detectar 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 del pod de anuncios en respuesta al evento
adBreakAnnounce
, crea el métodoHbbTVApp.onAdBreakAnnounce()
:Para cambiar a la reproducción de la 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 pods de anuncios del SDK de IMA en tu app de HbbTV. Para comparar tu app con una app de muestra completa, consulta la muestra de IMA para HbbTV en GitHub.