Dans application.js, créez la classe principale de votre application HbbTV qui interagit avec la diffusion HbbTV. Cette classe interagit avec broadcastAppManager et broadcastContainer. Pour obtenir un exemple de classe similaire, consultez Gérer l'objet audio/vidéo de diffusion.
Modifiez cette application HbbTV de base pour demander un flux IMA et répondre aux événements de coupure publicitaire.
Initialiser l'application
Initialisez la classe d'application dans application.js, configurez broadcastAppManager et broadcastContainer en suivant le tutoriel Gérer l'objet audio/vidéo de diffusion.
Ensuite, initialisez de nouveaux objets VideoPlayer et AdManager.
Envoyer une demande de flux IMA
Dans la méthode HbbTVApp.onPlayStateChangeEvent(), envoyez une requête de flux en réponse au passage de l'application à PRESENTING_PLAYSTATE. Cette approche prépare votre application à charger le fichier manifeste du pod d'annonces en réponse à un événement AD_BREAK_EVENT_ANNOUNCE.
Si votre appareil n'émet pas correctement l'événement de conteneur de diffusion PlayStateChange, utilisez la fonction setInterval() pour vérifier les changements d'état de lecture :
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);
}
…
Écouter les événements de flux HbbTV
Créez la méthode HbbTVApp.onStreamEvent() pour écouter les événements de coupure publicitaire adBreakAnnounce, adBreakStart et adBreakEnd :
Gérer les événements de flux HbbTV
Pour gérer les événements de flux HbbTV, procédez comme suit :
Pour charger le fichier manifeste du pod d'annonces en réponse à l'événement
adBreakAnnounce, créez la méthodeHbbTVApp.onAdBreakAnnounce():Pour passer à la lecture du flux d'annonces pendant les pauses publicitaires, créez la méthode
HbbTVApp.onAdBreakStart():Pour revenir au contenu diffusé, créez la méthode
HbbTVApp.onAdBreakEnd():
Vous demandez et affichez maintenant des pods d'annonces du SDK IMA dans votre application HbbTV. Pour comparer votre application à un exemple d'application terminé, consultez l'exemple IMA HbbTV sur GitHub.