Dans ads_manager.js, définissez une classe wrapper pour le StreamManager du SDK IMA qui effectue des demandes de flux, obtient le fichier manifeste du bloc d'annonces, écoute les événements de flux IMA et transmet les événements emsg au SDK IMA.
Dans ads_manager.js, l'application exemple IMA HbbTV configure les méthodes suivantes :
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
Initialiser le gestionnaire d'annonces
Initialisez la classe du gestionnaire d'annonces et définissez des écouteurs pour les événements de flux IMA. Dans cet appel, définissez le gestionnaire d'événements emsg avec la méthode VideoPlayer.setEmsgEventHandler().
Demander un flux de série d'annonces
Créez la méthode AdManager.requestStream() pour créer un objet PodStreamRequest à l'aide de votre code réseau Google Ad Manager et de la clé de contenu personnalisé du flux. Testez votre application HbbTV à l'aide du flux de diffusion de pod DASH IMA exemple avec les paramètres de flux suivants :
- Code réseau :
'21775744923' - Clé d'élément personnalisée :
'hbbtv-dash'
Écouter les événements du flux d'annonces
Créez la méthode AdManager.onStreamEvent() pour gérer la réponse de votre application aux événements de flux IMA, STREAM_INITIALIZED, AD_BREAK_STARTED et AD_BREAK_ENDED.
Gérer les métadonnées du flux d'annonces
Pour transmettre les informations de l'événement emsg à IMA, créez la méthode AdManager.onEmsgEvent() à l'aide de la méthode StreamManager.processMetadata(). La classe du lecteur vidéo appelle cette méthode avec la méthode VideoPlayer.setEmsgEventHandler().
Charger le fichier manifeste du groupe d'annonces
Créez la méthode AdManager.loadAdPodManifest() pour précharger le fichier manifeste de la série d'annonces avec le lecteur vidéo. Créez une URL de fichier manifeste authentifiée à l'aide de la structure de la section Méthode : fichier manifeste du pod DASH.
L'application exemple HbbTV utilise une valeur adBreakId unique générée de façon aléatoire. Dans les applications de production, la valeur adBreakId est une chaîne alphanumérique (par exemple, ab-001) qui augmente d'une unité pour chaque coupure publicitaire. Vérifiez que la valeur adBreakId est la même pour tous les spectateurs de l'insertion publicitaire. Pour obtenir une valeur adBreakId, nous vous recommandons d'utiliser l'API Ad Break pour l'insertion dynamique d'annonce.
Dans un environnement de production, incluez les valeurs adBreakId et podDuration dans l'événement de flux HbbTV AD_BREAK_ANNOUNCE.
Créez ensuite la classe d'application principale pour votre application HbbTV qui interagit avec la diffusion HbbTV.