In diesem Leitfaden wird gezeigt, wie Sie das IMA DAI SDK in eine Videoplayer-App einbinden. Wenn Sie sich eine vollständige Beispielintegration ansehen oder nachvollziehen möchten, laden Sie das einfache Beispiel von GitHub herunter.
IMA DAI – Übersicht
Die Implementierung des IMA DAI SDK umfasst zwei Hauptkomponenten, die in diesem Leitfaden beschrieben werden:
StreamRequest: entweder einVODStreamRequestoder einLiveStreamRequest. Ein Objekt, das eine Streamanfrage definiert. Streamanfragen können entweder für Video-on-Demand- oder Livestreams gestellt werden. Bei Livestream-Anfragen wird ein Asset-Schlüssel angegeben, bei VOD-Anfragen eine CMS-ID und eine Video-ID. Beide Anfragetypen können optional einen API-Schlüssel enthalten, der für den Zugriff auf bestimmte Streams erforderlich ist, sowie einen Google Ad Manager-Netzwerkcode, damit das IMA SDK Anzeigenkennungen gemäß den Google Ad Manager-Einstellungen verarbeiten kann.StreamManager: Ein Objekt, das Streams für die dynamische Anzeigenbereitstellung und Interaktionen mit dem Backend für die dynamische Anzeigenbereitstellung verarbeitet. Der Stream-Manager verarbeitet auch Tracking-Pings und leitet Stream- und Anzeigenereignisse an den Publisher weiter.
Vorbereitung
- Drei leere Dateien
- dai.html
- dai.css
- dai.js
- Python auf Ihrem Computer oder einen Webserver zum Testen
Entwicklungsserver starten
Da das IMA DAI SDK Abhängigkeiten mit demselben Protokoll wie die Seite lädt, von der es geladen wird, müssen Sie einen Webserver verwenden, um Ihre App zu testen. Eine schnelle Möglichkeit, einen lokalen Entwicklungsserver zu starten, ist die Verwendung des integrierten Python-Servers.
Führen Sie in der Befehlszeile im Verzeichnis, das die Datei
index.htmlenthält, Folgendes aus:python -m http.server 8000Rufe in einem Webbrowser
http://localhost:8000/auf.Sie können auch einen anderen Webserver verwenden, z. B. den Apache HTTP Server.
Videoplayer erstellen
Ändern Sie zuerst dai.html, um ein HTML5-Videoelement und ein div-Element für die Klick-URL zu erstellen. Im folgenden Beispiel wird das IMA DAI SDK importiert. Weitere Informationen finden Sie unter IMA DAI SDK importieren.
Fügen Sie außerdem die erforderlichen Tags hinzu, um die Dateien dai.css und dai.js zu laden und den Videoplayer hls.js zu importieren. Ändern Sie dann dai.css, um die Größe und Position der Seitenelemente anzugeben.
Definieren Sie schließlich in dai.js Variablen für die Informationen zur Streamanfrage und eine initPlayer()-Funktion, die beim Seitenaufbau ausgeführt werden soll. Richten Sie außerdem den Wiedergabebutton so ein, dass beim Klicken ein Stream angefordert wird.
Wenn die Wiedergabe während pausierter Werbeunterbrechungen fortgesetzt werden soll, richten Sie Event-Listener für die Ereignisse pause und start des Videoelements ein, um die Steuerelemente des Videoplayers ein- und auszublenden.
IMA DAI SDK laden
Fügen Sie als Nächstes das IMA-Framework mit einem Script-Tag in dai.html vor dem Tag für dai.js hinzu.
StreamManager initialisieren
Wenn Sie eine Reihe von Anzeigen anfordern möchten, erstellen Sie ein ima.dai.api.StreamManager, das für das Anfordern und Verwalten von Streams für die dynamische Anzeigenbereitstellung verantwortlich ist. Der Konstruktor verwendet ein Videoelement und ein Anzeigen-UI-Element, um Anzeigenklicks zu verarbeiten.
Streamanfrage stellen
Definieren Sie Funktionen zum Anfordern von Streams. Dieses Beispiel enthält Funktionen für VOD und Livestreams, die Instanzen der Klasse VODStreamRequest und der Klasse LiveStreamRequest erstellen. Nachdem Sie die streamRequest-Instanz erstellt haben, rufen Sie die Methode streamManager.requestStream() mit der Streamanfrageinstanz auf.
Beide Streamanfragemethoden akzeptieren einen optionalen API-Schlüssel. Wenn Sie einen geschützten Stream verwenden, müssen Sie einen Authentifizierungsschlüssel für die dynamische Anzeigenbereitstellung erstellen. Weitere Informationen finden Sie unter Anfragen für Videostreams der dynamischen Anzeigenbereitstellung authentifizieren.
Keiner der Streams in diesem Beispiel ist mit einem Authentifizierungsschlüssel für die dynamische Anzeigenbereitstellung geschützt. Daher wird apiKey nicht verwendet.
Stream-Metadaten parsen
Außerdem müssen Sie einen Handler hinzufügen, der auf zeitgesteuerte Metadatenereignisse wartet und die Ereignisse an die Klasse StreamManager weiterleitet, damit IMA während Werbeunterbrechungen Anzeigenereignisse ausgeben kann:
In diesem Leitfaden wird der hls.js-Player für die Streamwiedergabe verwendet. Die Implementierung der Metadaten hängt jedoch vom verwendeten Player-Typ ab.
Streamereignisse verarbeiten
Implementieren Sie Event-Listener für wichtige Videoereignisse. In diesem Beispiel werden die Ereignisse LOADED, ERROR, AD_BREAK_STARTED und AD_BREAK_ENDED durch Aufrufen einer onStreamEvent()-Funktion verarbeitet. Diese Funktion übernimmt das Laden des Streams, die Behandlung von Streamfehlern und das Deaktivieren der Steuerelemente des Videoplayers während der Anzeigenwiedergabe, was für das IMA SDK erforderlich ist.
Wenn der Stream geladen ist, lädt der Videoplayer die angegebene URL und gibt sie mit einer loadUrl()-Funktion wieder.
Geschafft! Sie können jetzt Anzeigen mit dem IMA DAI SDK anfordern und anzeigen lassen. Weitere Informationen zu erweiterten SDK-Funktionen finden Sie in den anderen Leitfäden oder in den Beispielen auf GitHub.