Definieren Sie in ads_manager.js eine Wrapper-Klasse für den IMA SDK StreamManager, mit der Streamanfragen gesendet, das Ad-Pod-Manifest abgerufen, IMA-Streamereignisse abgehört und emsg-Ereignisse an das IMA SDK übergeben werden.
In ads_manager.js werden in der IMA HbbTV-Beispiel-App die folgenden Methoden eingerichtet:
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
Anzeigenmanager initialisieren
Initialisieren Sie die Ads Manager-Klasse und legen Sie Listener für die IMA-Streamereignisse fest. Legen Sie in diesem Aufruf den emsg-Event-Handler mit der Methode VideoPlayer.setEmsgEventHandler() fest.
Anfrage für einen Ad-Pod-Stream stellen
Erstellen Sie die AdManager.requestStream()-Methode, um ein PodStreamRequest-Objekt mit Ihrem Google Ad Manager-Netzwerkcode und dem benutzerdefinierten Asset-Schlüssel des Streams zu erstellen. Testen Sie Ihre HbbTV-App mit dem IMA-Beispielstream für die Bereitstellung von DASH-Pods mit den folgenden Streamparametern:
- Netzwerkcode:
'21775744923' - Benutzerdefinierter Assetschlüssel:
'hbbtv-dash'
Auf Ereignisse im Anzeigenstream warten
Erstellen Sie die Methode AdManager.onStreamEvent(), um die Reaktion Ihrer App auf die IMA-Streamereignisse STREAM_INITIALIZED, AD_BREAK_STARTED und AD_BREAK_ENDED zu verarbeiten.
Metadaten des Anzeigenstreams verarbeiten
Wenn Sie die emsg-Ereignisinformationen an IMA übergeben möchten, erstellen Sie die AdManager.onEmsgEvent()-Methode mit der StreamManager.processMetadata()-Methode. Die Videoplayer-Klasse ruft diese Methode mit der Methode VideoPlayer.setEmsgEventHandler() auf.
Ad-Pod-Manifest laden
Erstellen Sie die AdManager.loadAdPodManifest()-Methode, um das Anzeigen-Pod-Manifest mit dem Videoplayer vorab zu laden. Erstellen Sie die Manifest-URL anhand der Struktur in Methode: DASH-Pod-Manifest.
In der HbbTV-Beispiel-App wird ein zufällig generiertes, eindeutiges podId verwendet. In Produktions-Apps ist podId eine Ganzzahl, die mit 1 beginnt und für jede Werbeunterbrechung um 1 erhöht wird. Prüfen Sie, ob podId für alle Zuschauer der Werbeunterbrechung derselbe Wert ist. Wir empfehlen, für podId die Early Ad Break Notification (EABN) API zu verwenden. In einer Produktionsumgebung müssen Sie podId und podDuration in das HbbTV-Streamereignis AD_BREAK_ANNOUNCE einfügen.
Erstellen Sie als Nächstes die Hauptanwendungsklasse für Ihre HbbTV-App, die mit der HbbTV-Übertragung interagiert.