In diesem Leitfaden wird beschrieben, wie Sie Ihren Manifest-Manipulator so konfigurieren, dass Anzeigen- oder Slate-Segmente mit der Methode für Anzeigengruppen-Segmente angefordert werden.
Wählen Sie ein Streamingprotokoll aus:
Vorbereitung
Bevor Sie fortfahren, müssen Sie ein Livestream-Ereignis für den Typ Weiterleitung für Anzeigengruppen-Bereitstellung der dynamischen Anzeigenbereitstellung (Dynamic Ad Insertion, DAI) und Codierungsprofile einrichten. Wählen Sie eine der folgenden Methoden aus, um ein Livestream-Ereignis einzurichten:
- Ad Manager-UI: Richten Sie einen Livestream für die dynamische Anzeigenbereitstellung ein.
- Ad Manager API:Rufen Sie mit einer Clientbibliothek die
LiveStreamEventService.createLiveStreamEventsMethode auf. Legen Sie denLiveStreamEvent.dynamicAdInsertionTypeParameter aufPOD_SERVING_REDIRECTfest. - Anfragen authentifizieren:Jede Segmentanfrage, die mit der Anzeigengruppen-Bereitstellung per Segmentweiterleitung gestellt wird, muss ein HMAC-signiertes Token zur Authentifizierung enthalten. Berechnen Sie dieses Token einmal pro Werbeunterbrechung und verwenden Sie es für alle Streamsitzungen. Informationen zum Berechnen des HMAC-Tokens finden Sie unter Anfragen für Anzeigen-Pods authentifizieren.
Nachdem Sie das Livestream-Ereignis eingerichtet haben, rufen Sie die Codierungsprofile des Ereignisses
über die Ad Manager-UI oder API ab, indem Sie die
DaiEncodingProfileService.getDaiEncodingProfilesByStatement
Methode aufrufen.
Contentstream abrufen
Wenn ein Nutzer ein Livestream-Ereignis auswählt, sendet die Client-App eine Streamanfrage an Google Ad Manager. In der Streamantwort extrahiert die App die Google DAI-Sitzungs-ID und die Metadaten, die in die Manifestanfrage für den Stream aufgenommen werden sollen.
Im folgenden Beispiel wird eine Google DAI-Sitzungs-ID an einen Manifest-Manipulator übergeben:
https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY
Speichern Sie beim Verarbeiten der Wiedergabeanfrage für Videocontent die Google DAI-Sitzungs ID und CUSTOM_ASSET_KEY aus der Anfrage, um die Anzeigenzusammenführung vorzubereiten.
Segmente für Werbeunterbrechungen identifizieren und Unterbrechungen einfügen
Identifizieren Sie beim Verarbeiten der einzelnen Variantenmanifeste die Tags EXT-X-CUE-IN und EXT-X-CUE-OUT in Ihrem Stream, die den Beginn und das Ende einer Werbeunterbrechung angeben.
Ersetzen Sie die Tags EXT-X-CUE-IN und EXT-X-CUE-OUT durch die Elemente EXT-X-DISCONTINUITY, damit der Videoplayer des Clients zwischen Content und Anzeigen wechseln kann.
Im folgenden Beispielmanifest werden die Tags EXT-X-CUE-IN und EXT-X-CUE-OUT ersetzt:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
Das folgende Beispiel zeigt ein ersetzt Manifest:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
Anzeigensegmente der dynamischen Anzeigenbereitstellung von Google sind nicht verschlüsselt. Wenn Ihr Content verschlüsselt ist, entfernen Sie die Verschlüsselung, indem Sie das Element EXT-X-KEY:METHOD=NONE vor dem ersten Anzeigensegment jeder Werbeunterbrechung einfügen. Fügen Sie am Ende der Werbeunterbrechung die Verschlüsselung wieder hinzu, indem Sie ein entsprechendes EXT-X-KEY-Element einfügen.
Notieren Sie sich die Startzeit, Dauer und den Index der bevorstehenden Werbeunterbrechung.
URLs für Anzeigensegmente erstellen
Ersetzen Sie jedes Contentsegment zwischen den Tags EXT-X-DISCONTINUITY durch eine URL, die auf die Methode für Anzeigen-Pod-Segmente verweist.
Im folgenden Beispiel wird ein Anzeigen-Pod-Segment zusammengestellt. Anzeigensegmente verwenden einen nullbasierten Index:
https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC
Im folgenden Beispiel werden die Anzeigen-Pod-Segmente in das Manifest eingefügt:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4
Optional: Werbeunterbrechung planen
Um die Ausführungsrate zu verbessern, senden Sie eine Benachrichtigung über eine frühe Werbeunterbrechung (Early Ad Break Notification, EABN) mit der Dauer des Anzeigen-Pods, benutzerdefinierten Targeting-Parametern und SCTE-35-Signaldaten. Weitere Informationen finden Sie unter Benachrichtigungen über frühe Werbeunterbrechungen senden.