Mit der Dynamic Ad Insertion API kannst du Video-on-Demand-Streams (VOD) mit dynamischer Anzeigenbereitstellung anfordern und erfassen. HLS- und DASH-Streams werden unterstützt.
Dienst: dai.google.com
Der Pfad der stream
-Methode ist relativ zu https://dai.google.com
Methode: stream
Methoden | |
---|---|
stream |
POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
Erstellt einen HLS-DAI-Stream für die angegebene Contentquelle und Video-ID.
Erstellt einen DASH-DAI-Stream für die angegebene Contentquelle und Video-ID. |
HTTP-Anfrage
POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream
Anfrageheader
Parameter | |
---|---|
api‑key |
string Der API-Schlüssel, der beim Erstellen eines Streams angegeben wird, muss für das Netzwerk des Publishers gültig sein. Anstatt ihn im Anfragetext anzugeben, kann der API-Schlüssel im HTTP-Autorisierungsheader mit dem folgenden Format übergeben werden: Authorization: DCLKDAI key="<api-key>" |
Pfadparameter
Parameter | |
---|---|
content-source |
string Die CMS-ID des Streams. |
video-id |
string Die Video-ID des Streams. |
Anfragetext
Der Anfragetext hat den Typ application/x-www-form-urlencoded
und enthält die folgenden Parameter:
Parameter | ||
---|---|---|
dai-ssb |
Optional | Legen Sie den Wert auf |
DFP-Targeting-Parameter | Optional | Zusätzliche Targeting-Parameter |
Streamparameter überschreiben | Optional | Standardwerte eines Parameters für die Streamerstellung überschreiben. |
HMAC-Authentifizierung | Optional | Mit einem HMAC-basierten Token authentifizieren. |
Antworttext
Bei Erfolg enthält der Antworttext eine neue Stream
. Bei serverseitigen Beaconing-Streams enthält Stream
nur die Felder stream_id
und stream_manifest
.
Open Measurement
Das Feld Verifications
enthält Informationen zur Überprüfung von Open Measurement-Streams ohne serverseitiges Beaconing.
Verifications
enthält ein oder mehrere Verification
-Elemente mit den Ressourcen und Metadaten, die Sie zur Überprüfung der Creative-Wiedergabe mit dem Messcode eines Drittanbieters benötigen.
Es wird nur JavaScriptResource
unterstützt. Weitere Informationen finden Sie im IAB Tech Lab und in der VAST 4.1-Spezifikation.
Methode: Medienüberprüfung
Wenn du während der Wiedergabe eine Anzeigenmedien-ID siehst, sende sofort eine Anfrage mit der media_verification_url
vom Endpunkt stream
. media_verification_url
ist ein absoluter Pfad.
Anfragen zur Medienüberprüfung sind für serverseitige Beaconing-Streams nicht erforderlich, da die Medienüberprüfung vom Server initiiert wird.
Anfragen an den media verification
-Endpunkt sind idempotent.
Methoden | |
---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
Benachrichtigt die API über ein Ereignis der Medienüberprüfung. |
HTTP-Anfrage
GET {media-verification-url}/{ad-media-id}
Antworttext
media verification
gibt die folgenden Antworten zurück:
HTTP/1.1 204 No Content
, wenn die Medienüberprüfung erfolgreich war und alle Pings gesendet wurden.HTTP/1.1 404 Not Found
, wenn die Medien aufgrund einer falschen URL-Formatierung oder eines Ablaufdatums nicht bestätigt werden können.HTTP/1.1 404 Not Found
, wenn eine vorherige Bestätigungsanfrage für diesen Ausweis erfolgreich war.HTTP/1.1 409 Conflict
, wenn zu diesem Zeitpunkt bereits Pings für eine andere Anfrage gesendet werden.
Anzeigen-Media-IDs (HLS)
Anzeigenmedien-IDs werden in HLS-zeitbasierten Metadaten mit dem Schlüssel TXXX
codiert, der für Frames mit „nutzerdefinierten Textinformationen“ reserviert ist. Der Inhalt des Frames ist unverschlüsselt und beginnt immer mit dem Text "google_"
.
Der gesamte Textinhalt des Frames muss für jede Anfrage zur Anzeigenüberprüfung an media_verification_url angehängt werden.
Anzeigenmedien-IDs (DASH)
Anzeigenmedien-IDs werden über das DASH-Element EventStream
in das Manifest eingefügt.
Jeder EventStream
hat einen Scheme-ID-URI von urn:google:dai:2018
.
Sie enthalten Ereignisse mit dem Attribut messageData
, das eine Anzeigenmedien-ID enthält, die mit “google_”
beginnt. Der gesamte Inhalt des Attributs messageData
muss für jede Anfrage zur Anzeigenüberprüfung an media_verification_url angehängt werden.
Antwortdaten
Stream
Mit „stream“ wird eine Liste aller Ressourcen für einen neu erstellten Stream im JSON-Format gerendert .JSON-Darstellung |
---|
{ "stream_id": string, "total_duration": number, "content_duration": number, "valid_for": string, "valid_until": string, "subtitles": [object(Subtitle)], "hls_master_playlist": string, "stream_manifest": string, "media_verification_url": string, "apple_tv": object(AppleTV), "ad_breaks": [object(AdBreak)], } |
Felder | |
---|---|
stream_id |
string Stream-ID |
total_duration |
number Streamdauer in Sekunden. |
content_duration |
number Dauer der Inhalte ohne Anzeigen in Sekunden. |
valid_for |
string Der Dauerstream ist im Format „00:00:00“ gültig. |
valid_until |
string Datum, bis zu dem der Stream gültig ist, im RFC 3339-Format. |
subtitles |
[object(Subtitle)] Eine Liste mit Untertiteln. Wird weggelassen, wenn es leer ist. Nur HLS. |
hls_master_playlist |
string (VERSCHUSSELT) URL der HLS-Masterplaylist. Verwende „stream_manifest“. Nur HLS. |
stream_manifest |
string Das Manifest des Streams. Entspricht der Masterplaylist in HLS und der MPD in DASH. Dieses Feld ist neben „stream_id“ das einzige Feld, das in der Antwort enthalten ist, wenn ein serverseitiger Beaconing-Stream erstellt wird. |
media_verification_url |
string URL für die Medienüberprüfung |
apple_tv |
object(AppleTV) Optionale Informationen speziell für AppleTV-Geräte. Nur HLS. |
ad_breaks |
[object(AdBreak)] Eine Liste von Werbeunterbrechungen. Wird weggelassen, wenn es leer ist. |
AppleTV
„AppleTV“ enthält Informationen zu Apple TV-Geräten.JSON-Darstellung |
---|
{ "interstitials_url": string, } |
Felder | |
---|---|
interstitials_url |
string URL des Interstitials |
AdBreak
„AdBreak“ beschreibt eine einzelne Werbeunterbrechung im Stream. Sie enthält eine Position, eine Dauer, einen Typ (Mid-/Pre-/Post-Roll) und eine Liste mit Anzeigen.JSON-Darstellung |
---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
Felder | |
---|---|
type |
string Gültige Werbeunterbrechungstypen sind „mid“, „pre“ und „post“. |
start |
number Position im Stream, an der die Werbeunterbrechung beginnt, in Sekunden. |
duration |
number Dauer der Werbeunterbrechung in Sekunden. |
ads |
[object(Ad)] Eine Liste von Anzeigen. Wird weggelassen, wenn es leer ist. |
Anzeige
„Anzeige“ beschreibt eine Anzeige im Stream. Sie enthält die Position der Anzeige in der Werbeunterbrechung, die Dauer der Anzeige und einige optionale Metadaten.JSON-Darstellung |
---|
{ "seq": number, "start": number, "duration": number, "title": string, "description": string, "advertiser": string, "ad_system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, "clickthrough_url": string, "icons": [object(Icon)], "wrappers": [object(Wrapper)], "events": [object(Event)], "verifications": [object(Verification)], "universal_ad_id": object(UniversalAdID), "companions": [object(Companion)], "interactive_file": object(InteractiveFile), "skip_metadata": object(SkipMetadata), "extensions": [], } |
Felder | |
---|---|
seq |
number Position der Anzeige in der Werbeunterbrechung. |
start |
number Position im Stream, an der die Anzeige beginnt, in Sekunden. |
duration |
number Dauer der Anzeige in Sekunden. |
title |
string Optionaler Titel der Anzeige. |
description |
string Optionale Beschreibung der Anzeige. |
advertiser |
string Optionale Werbetreibenden-ID. |
ad_system |
string Optionales Anzeigensystem |
ad_id |
string Optionale Anzeigen-ID. |
creative_id |
string Optionale Creative-ID. |
creative_ad_id |
string Optionale Creative-Anzeigen-ID. |
deal_id |
string Optionale Deal-ID. |
clickthrough_url |
string Optionale Klick-URL |
icons |
[object(Icon)] Eine Liste von Symbolen, die bei leerem Wert weggelassen wird. |
wrappers |
[object(Wrapper)] Eine Liste der Wrapper. Wird weggelassen, wenn es leer ist. |
events |
[object(Event)] Eine Liste der Ereignisse in der Anzeige. |
verifications |
[object(Verification)] Optionale Open Measurement-Bestätigungseinträge, die die Ressourcen und Metadaten enthalten, die zum Ausführen des Messcodes von Drittanbietern zur Überprüfung der Creative-Wiedergabe erforderlich sind. |
universal_ad_id |
object(UniversalAdID) Optionale universelle Anzeigen-ID. |
companions |
[object(Companion)] Optionale Companion-Creatives, die zusammen mit dieser Anzeige ausgeliefert werden können. |
interactive_file |
object(InteractiveFile) Optionales interaktives Creative (SIMID), das während der Anzeigenwiedergabe eingeblendet werden soll. |
skip_metadata |
object(SkipMetadata) Optionale Metadaten für überspringbare Anzeigen. Wenn diese Option festgelegt ist, gibt sie an, dass die Anzeige übersprungen werden kann. Außerdem enthält sie eine Anleitung zum Umgang mit der Benutzeroberfläche zum Überspringen und dem Tracking-Ereignis. |
extensions |
string Optionale Liste aller <Extension>-Knoten im VAST. |
Ereignis
„Ereignis“ enthält einen Ereignistyp und eine Präsentationszeit eines Ereignisses.JSON-Darstellung |
---|
{ "time": number, "type": string, } |
Felder | |
---|---|
time |
number Die Präsentationszeit dieses Ereignisses. |
type |
string Der Typ dieses Ereignisses. |
Untertitel
„Subtitle“ beschreibt einen Sidecar-Untertiteltrack für den Videostream. Es werden zwei Untertitelformate gespeichert: TTML und WebVTT. Das Attribut „TTMLPath“ enthält die URL zur TTML-Sidecar-Datei und das Attribut „WebVTTPath“ enthält eine URL zur WebVTT-Sidecar-Datei.JSON-Darstellung |
---|
{ "language": string, "language_name": string, "ttml": string, "webvtt": string, } |
Felder | |
---|---|
language |
string Ein Sprachcode wie „en“ oder „de“. |
language_name |
string Beschreibender Name der Sprache. Er unterscheidet die einzelnen Untertitel, wenn für dieselbe Sprache mehrere vorhanden sind. |
ttml |
string Optionale URL zur TTML-Sidecar-Datei. |
webvtt |
string Optionale URL zur WebVTT-Sidecar-Datei. |
SkipMetadata
SkipMetadata enthält Informationen, die Clients zum Bearbeiten von Überspringe-Ereignissen für überspringbare Anzeigen benötigen.JSON-Darstellung |
---|
{ "offset": number, "tracking_url": string, } |
Felder | |
---|---|
offset |
number Der Versatz gibt an, wie viele Sekunden nach Beginn der Anzeige der Player warten soll, bevor die Schaltfläche „Überspringen“ gerendert wird. Wird ausgelassen, wenn sie nicht im VAST-Dokument angegeben ist. |
tracking_url |
string Die TrackingURL enthält eine URL, die beim Überspringen eines Videos angepingt werden soll. |
Symbol
Das Symbol enthält Informationen zu einem VAST-Symbol.JSON-Darstellung |
---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
Felder | |
---|---|
click_data |
object(ClickData) |
creative_type |
string |
click_fallback_images |
[object(FallbackImage)] |
height |
int32 |
width |
int32 |
resource |
string |
type |
string |
x_position |
string |
y_position |
string |
program |
string |
alt_text |
string |
ClickData
„ClickData“ enthält Informationen zu einem Klick auf ein Symbol.JSON-Darstellung |
---|
{ "url": string, } |
Felder | |
---|---|
url |
string |
FallbackImage
FallbackImage enthält Informationen zu einem VAST-Fallback-Bild.JSON-Darstellung |
---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
Felder | |
---|---|
creative_type |
string |
height |
int32 |
width |
int32 |
resource |
string |
alt_text |
string |
Wrapper
Der Wrapper enthält Informationen zu einer Wrapper-Anzeige. Eine Deal-ID ist nicht enthalten, wenn keine vorhanden ist.JSON-Darstellung |
---|
{ "system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, } |
Felder | |
---|---|
system |
string ID des Anzeigensystems. |
ad_id |
string Die Anzeigen-ID, die für die Wrapper-Anzeige verwendet wird. |
creative_id |
string Creative-ID, die für die Wrapper-Anzeige verwendet wird. |
creative_ad_id |
string Creative-Anzeigen-ID, die für die Wrapper-Anzeige verwendet wird. |
deal_id |
string Optionale Deal-ID für die Wrapper-Anzeige. |
Überprüfung
Die Bestätigung enthält Informationen für Open Measurement, die die Sichtbarkeits- und Überprüfungsmessung durch Drittanbieter erleichtern. Derzeit werden nur JavaScript-Ressourcen unterstützt. Weitere Informationen finden Sie unter https://iabtechlab.com/standards/open-measurement-sdk/.JSON-Darstellung |
---|
{ "vendor": string, "java_script_resources": [object(JavaScriptResource)], "tracking_events": [object(TrackingEvent)], "parameters": string, } |
Felder | |
---|---|
vendor |
string Der Überprüfungsanbieter. |
java_script_resources |
[object(JavaScriptResource)] Liste der JavaScript-Ressourcen für die Überprüfung. |
tracking_events |
[object(TrackingEvent)] Liste der Tracking-Ereignisse für die Bestätigung. |
parameters |
string Ein undurchsichtiger String, der an den Bootstrap-Bestätigungscode übergeben wird. |
JavaScriptResource
„JavaScriptResource“ enthält Informationen zur Überprüfung über JavaScript.JSON-Darstellung |
---|
{ "script_url": string, "api_framework": string, "browser_optional": boolean, } |
Felder | |
---|---|
script_url |
string URI zum JavaScript-Nutzlast |
api_framework |
string APIFramework ist der Name des Video-Frameworks, das den Bestätigungscode verwendet. |
browser_optional |
boolean Ob dieses Script außerhalb eines Browsers ausgeführt werden kann. |
TrackingEvent
„TrackingEvent“ enthält URLs, die in bestimmten Situationen vom Client gepingt werden sollen.JSON-Darstellung |
---|
{ "event": string, "uri": string, } |
Felder | |
---|---|
event |
string Der Typ des Tracking-Ereignisses. |
uri |
string Das Tracking-Ereignis, an das ein Ping gesendet werden soll. |
UniversalAdID
Mit der UniversalAdID wird eine eindeutige Creative-ID bereitgestellt, die in allen Werbesystemen verwendet wird.JSON-Darstellung |
---|
{ "id_value": string, "id_registry": string, } |
Felder | |
---|---|
id_value |
string Die universelle Anzeigen-ID des ausgewählten Creatives für die Anzeige. |
id_registry |
string Ein String, der die URL für die Registrierungswebsite angibt, auf der die Universal-Anzeigen-ID des ausgewählten Creatives katalogisiert wird. |
Companion
„Companion“ enthält Informationen zu Companion-Anzeigen, die zusammen mit der Anzeige ausgeliefert werden können.JSON-Darstellung |
---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
Felder | |
---|---|
click_data |
object(ClickData) Die Klickdaten für dieses Companion-Creative. |
creative_type |
string Das CreativeType-Attribut im <StaticResource>-Knoten im VAST-Tag, wenn es sich um ein Companion-Creative vom Typ „static“ handelt. |
height |
int32 Die Höhe dieses Companion-Elements in Pixeln. |
width |
int32 Die Breite dieses Companion-Elements in Pixeln. |
resource |
string Bei statischen und iFrame-Anzeigen ist dies die URL, die geladen und angezeigt wird. Bei HTML-Companions ist dies das HTML-Snippet, das als Companion angezeigt werden soll. |
type |
string Typ dieses Companion. Sie kann entweder statisch, iFrame oder HTML sein. |
ad_slot_id |
string Die Slot-ID für diesen Companion. |
api_framework |
string Das API-Framework für diesen Companion. |
tracking_events |
[object(TrackingEvent)] Liste der Tracking-Ereignisse für diesen Companion. |
InteractiveFile
„InteractiveFile“ enthält Informationen für interaktive Creatives (z.B. SIMID), die während der Wiedergabe der Anzeige angezeigt werden sollen.JSON-Darstellung |
---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
Felder | |
---|---|
resource |
string Die URL zum interaktiven Creative. |
type |
string Der MIME-Typ der als Ressource bereitgestellten Datei. |
variable_duration |
boolean Ob für dieses Creative die Dauer verlängert werden kann. |
ad_parameters |
string Der Wert des Knotens <AdParameters> im VAST-Tag. |