Mit der API für die dynamische Anzeigenbereitstellung (Dynamic Ad Insertion, DAI) haben Sie Zugriff auf monetarisierte Streams, in denen das IMA SDK nicht unterstützt wird, beispielsweise auf Smart TVs. Auf Plattformen, auf denen das IMA SDK verfügbar ist, muss es auch verwendet werden. Die API unterstützt alle bestehenden Funktionen der dynamischen Anzeigenbereitstellung. Sie müssen allerdings vom Publisher implementiert werden.
Anforderungen bei Verwendung der API
Die folgenden Funktionen erfordern eine Implementierung durch den Publisher, wenn die API verwendet wird:
- Über den HTTP-Endpunkt auf den Stream für die dynamische Anzeigenbereitstellung zugreifen und JSON-Antworten verarbeiten
- API-Parameter und Schlüssel/Wert-Paare für das Targeting erstellen
- Funktionen der Benutzeroberfläche implementieren, z. B. anklickbare Flächen und Symbole
- ID3-Ereignisse im Player erfassen und anschließend die Steuerelemente des Players sowie das Anzeigen-Tracking und die Messung für lineare Live- und VOD-Streams implementieren
- Funktionen für Scrubbing, Zurückspringen und Lesezeichen implementieren
- Streamingformat "HLS" oder "DASH" auswählen
Mit den folgenden Informationen können Sie Streams für Video-on-Demand-Streams oder lineare Livestreams über die API anfordern und verarbeiten.
Video-on-Demand-Streams (VOD)
Der Lebenszyklus der VOD API vom Erstellen des Streams bis zum Verifizieren der Wiedergabe einer Anzeige ist einfach strukturiert:
-
Fordern Sie in einer HTTP-POST-Anfrage mit der ID der Contentquelle (
cmsid
) und der Video-ID (vid
) sowie einem API-Schlüssel oder HMAC-Token einen Stream und die Parameter für das Targeting der Anzeige an.https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream
-
Entnehmen Sie der Antwort die Informationen zum Manifest der Contentwiedergabe, zu den Untertiteln, zu den Werbeunterbrechungen und zur Dauer des Contents.
{
"content_duration": 123.451,
"stream_manifest": "https://dai.google.com/.../master.m3u8",
"media_verification_url": "https://dai.google.com/.../media/",
"stream_id": "9ca0c62a-3291-4f95-986f-d1721f8b96f0",
"total_duration": 163.451,
"valid_for": "8h0m0s",
"valid_until": "2018-05-16T23:21:16.558053292-07:00",
"ad_breaks": [...]
}
-
Entnehmen Sie die Elemente der Anzeige wie anklickbare Flächen, die Companions und die Dauer der Werbeunterbrechung den jeweiligen Anzeigendetails der Werbeunterbrechung, damit die Anzeigen auf der Oberfläche richtig gerendert werden.
{
"clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",
"description": "Example pre-roll ad",
"duration": 10,
"seq": 1,
"title": "Example pre-roll"
}
-
Lösen Sie bei jeder Anzeige
media_verification_url
aus und hängen Sie den ID3-Wert für die Mediawiedergabe der Anzeige an.https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/
Die Ereignisse vom Typ progress dienen dazu, die Wiedergabe während einer Werbeunterbrechung von der außerhalb zu unterscheiden. Einen anderen Zweck haben sie beim Anzeigen-Tracking nicht.
Diese Ereignisse werden in der JSON-Datei der Metadaten aufgeführt. Suchen Sie in ihr nach der Media-ID und sehen Sie nach, ob für das Feld type
der Wert progress
angezeigt wird. Mithilfe von „Progress ID3“ lassen sich z. B. die Steuerelemente von Videos blockieren.
Lineare Livestreams
Der Lebenszyklus der Linear API vom Erstellen des Streams bis zum Verifizieren der Wiedergabe einer Anzeige ist einfach strukturiert:
-
Fordern Sie in einer HTTP-POST-Anfrage mit der Ereignis-ID sowie einem API-Schlüssel oder HMAC-Token einen Stream und die Parameter für das Targeting der Anzeige an.
https://dai.google.com/linear/v1/hls/event/<eventid>/stream
https://dai.google.com/linear/v1/dash/event/<eventid>/stream -
Entnehmen Sie der Antwort die Informationen zum Manifest der Contentwiedergabe, zu den Untertiteln, zu den Werbeunterbrechungen und zur Dauer des Contents.
{
"stream_manifest": "https://dai.google.com/linear/.../master.m3u8",
"media_verification_url": "https://dai.google.com/linear/.../media/",
"metadata_url": "https://dai.google.com/linear/.../metadata",
"polling_frequency": 10,
"stream_id": "793bf10c-2323-404d-b23b-0a529d96e651:MRN",
}
-
Fordern Sie die Metadaten der Anzeige entweder mit der Aufrufhäufigkeit oder für jede ID eines ID3-Anzeigenmediums einzeln an. Im Suchparameter muss hierzu die ID des Anzeigenmediums an die Metadaten-URL angefügt werden.
{
"ad_breaks": {
"0001127859": {
"ads": 3,
"duration": 30,
"type": "mid"
}
},
"ads": {
"0001127859_ad2": {
"ad_break_id": "0001127859",
"ad_id": "39135088",
"ad_system": "GDFP",
"clickthrough_url": "http://pubads.g.doubleclick.net/pcs/click?...",
"creative_id": "103990016608",
"description": "Example linear 10s ad",
"duration": 10,
"position": 2,
"title": "Example linear ad"
}
},
"tags": {
"google_0028792773": {
"ad": "0001127859_ad2",
"ad_break_id": "0001127859",
"type": "firstquartile"
}, ...
}
}
-
Lösen Sie bei jeder Anzeige
media_verification_url
aus und hängen Sie den ID3-Wert für die Mediawiedergabe der Anzeige an.https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/
Die Ereignisse vom Typ progress dienen dazu, die Wiedergabe während einer Werbeunterbrechung von der außerhalb zu unterscheiden. Einen anderen Zweck haben sie beim Anzeigen-Tracking nicht.
Diese Ereignisse werden in der JSON-Datei der Metadaten aufgeführt. Suchen Sie in ihr nach der Media-ID und sehen Sie nach, ob für das Feld „type“
der Wert „progress“ angezeigt wird
. Mithilfe von „Progress ID3“ lassen sich z. B. die Steuerelemente von Videos blockieren.
Mit der DAI API erkennen, wenn eine Werbeunterbrechung im Stream gestartet/beendet wurde
Bei der dynamischen Anzeigenbereitstellung werden ID3-Metadaten für Quartilereignisse (z. B. Start, erstes Quartil, Mittelpunkt, drittes Quartil und „abgeschlossen“) in Anzeigensegmente und jede Sekunde Fortschrittsereignisse in Anzeigen- und Slate-Segmente eingefügt. Beim ersten Vorkommen eines solchen ID3-Tags kann das Ereignis „Werbeunterbrechung gestartet“ ausgelöst werden. Wenn dann etwa 2,5 Sekunden lang keine ID3-Tags vorkommen, kann das Ereignis „Werbeunterbrechung beendet“ ausgelöst werden. Über die dynamische Anzeigenbereitstellung eingefügte ID3-Tags werden anhand des Präfixes „google_
“ und des Vorhandenseins in der JSON-Datei der Metadaten identifiziert.
Targeting und/oder Schlüssel/Wert-Paare eines Nutzerstreams dynamisch aktualisieren
Mit session_update_url
können – ähnlich wie mit replaceAdTagParameters
– alle Anzeigen-Tag-Parameter eines Livestreams ersetzt werden, die für anstehende Anzeigenanfragen verwendet werden. Das ist vor allem nützlich, wenn die Targeting-Informationen einzelner Programme und Nutzer aktualisiert werden müssen, z. B. bei live übertragenen Sportveranstaltungen, bei denen das Targeting vorab möglicherweise noch nicht feststeht.