Mit der Dynamic Ad Insertion API können Sie VOD-Streams (Video-on-Demand) für die dynamische Anzeigenbereitstellung anfordern und nachverfolgen. HLS- und DASH-Streams werden unterstützt.
Dienst: dai.google.com
Der Pfad der Methode stream 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 |
stringDer API-Schlüssel, der beim Erstellen eines Streams angegeben wird, muss für das Netzwerk des Publishers gültig sein. Anstatt den API-Schlüssel im Anfragetext anzugeben, kann er im HTTP-Autorisierungsheader mit dem folgenden Format übergeben werden: Authorization: DCLKDAI key="<api-key>" |
Pfadparameter
| Parameter | |
|---|---|
content-source |
stringDie CMS-ID des Streams. |
video-id |
stringDie 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 zur Streamerstellung überschreiben. |
| HMAC-Authentifizierung | Optional | Mit einem HMAC-basierten Token authentifizieren. |
Antworttext
Bei Erfolg enthält der Antworttext eine neue Stream. Bei Streams mit serverseitigem Beaconing enthält Stream nur die Felder stream_id und stream_manifest.
Offene Messung
Das Feld Verifications enthält Informationen zur Open Measurement-Überprüfung für Streams ohne serverseitige Beacons.
Verifications enthält ein oder mehrere Verification-Elemente, in denen die Ressourcen und Metadaten aufgeführt sind, die Sie zum Überprüfen der Creative-Wiedergabe mit Drittanbieter-Messcode benötigen. Es wird nur JavaScriptResource unterstützt. Weitere Informationen finden Sie auf der IAB Tech Lab-Website und in der VAST 4.1-Spezifikation.
Methode: Media-Bestätigung
Wenn Sie während der Wiedergabe auf eine Media-ID für Anzeigen stoßen, senden Sie sofort eine Anfrage mit der media_verification_url vom Endpunkt stream. media_verification_url ist ein absoluter Pfad.
Für Streams mit serverseitigem Beaconing, bei denen der Server die Media-Bestätigung initiiert, sind keine Media-Bestätigungsanfragen erforderlich.
Anfragen an den media verification-Endpunkt sind idempotent.
| Methoden | |
|---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
Benachrichtigt die API über ein Media-Bestätigungsereignis. |
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 Media-Überprüfung erfolgreich ist und alle Pings gesendet werden.HTTP/1.1 404 Not Found, wenn die Media aufgrund einer falschen URL-Formatierung oder eines Ablaufs nicht überprüft werden können.HTTP/1.1 404 Not Found, wenn eine frühere Bestätigungsanfrage für diese ID erfolgreich war.HTTP/1.1 409 Conflict, wenn zu diesem Zeitpunkt bereits eine andere Anfrage Pings sendet.
Media-IDs für Anzeigen (HLS)
Anzeigen-Media-IDs werden in HLS Timed Metadata 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 sollte an die media_verification_url für jede Anfrage zur Anzeigenüberprüfung angehängt werden.
Media-IDs für Anzeigen (DASH)
Anzeigen-Media-IDs werden mithilfe des EventStream-Elements von DASH 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 Media-ID für Anzeigen enthält, die mit "google_" beginnt. Der gesamte Inhalt des Attributs messageData sollte an die media_verification_url für jede Anfrage zur Anzeigenüberprüfung 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 |
stringStream-Kennung. |
total_duration |
numberStreamdauer in Sekunden. |
content_duration |
numberDauer der Inhalte ohne Anzeigen in Sekunden. |
valid_for |
stringGültigkeitsdauer des Streams im Format „00h00m00s“. |
valid_until |
stringDatum, bis zu dem der Stream gültig ist, im RFC 3339-Format. |
subtitles |
[object(Subtitle)]Eine Liste der Untertitel. Wird ausgelassen, wenn leer. Nur HLS. |
hls_master_playlist |
string(VERALTET) URL der HLS-Master-Playlist. Verwenden Sie stream_manifest. Nur HLS. |
stream_manifest |
stringDas Manifest des Streams. Entspricht der Master-Playlist in HLS und dem MPD in DASH. Dies ist das einzige Feld neben „stream_id“, das in der Antwort beim Erstellen eines Streams mit serverseitigem Beaconing vorhanden ist. |
media_verification_url |
stringBestätigungs-URL für Medien. |
apple_tv |
object(AppleTV)Optionale Informationen speziell für AppleTV-Geräte. Nur HLS. |
ad_breaks |
[object(AdBreak)]Eine Liste von Ad-Breaks. Wird ausgelassen, wenn leer. |
AppleTV
AppleTV enthält Informationen speziell für Apple TV-Geräte.| JSON-Darstellung |
|---|
{
"interstitials_url": string,
} |
| Felder | |
|---|---|
interstitials_url |
stringURL für Interstitials: |
AdBreak
„AdBreak“ beschreibt eine einzelne Werbeunterbrechung im Stream. Sie enthält eine Position, eine Dauer, einen Typ (Mid/Pre/Post) und eine Liste von Anzeigen.| JSON-Darstellung |
|---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
| Felder | |
|---|---|
type |
stringGültige Unterbrechungstypen sind: „mid“, „pre“ und „post“. |
start |
numberPosition im Stream, an der die Unterbrechung beginnt, in Sekunden. |
duration |
numberDauer der Werbeunterbrechung in Sekunden. |
ads |
[object(Ad)]Eine Liste mit Anzeigen. Wird ausgelassen, wenn leer. |
Anzeige
„Anzeige“ beschreibt eine Anzeige im Stream. Sie enthält die Position der Anzeige im Break, 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 |
numberPosition der Anzeige in der Unterbrechung. |
start |
numberPosition im Stream, an der die Anzeige beginnt, in Sekunden. |
duration |
numberDauer der Anzeige in Sekunden. |
title |
stringOptionaler Titel der Anzeige. |
description |
stringOptionale Beschreibung der Anzeige. |
advertiser |
stringOptionale Werbe-ID. |
ad_system |
stringOptionales Anzeigensystem. |
ad_id |
stringOptionale Anzeigen-ID. |
creative_id |
stringOptionale Creative-ID. |
creative_ad_id |
stringOptionale Creative-Anzeigen-ID. |
deal_id |
stringOptionale Deal-ID. |
clickthrough_url |
stringOptionale Klick-URL. |
icons |
[object(Icon)]Eine Liste von Symbolen, die ausgelassen wird, wenn sie leer ist. |
wrappers |
[object(Wrapper)]Eine Liste von Wrappern. Wird ausgelassen, wenn leer. |
events |
[object(Event)]Eine Liste der Ereignisse in der Anzeige. |
verifications |
[object(Verification)]Optionale Einträge für die Open Measurement-Überprüfung, in denen die Ressourcen und Metadaten aufgeführt sind, die zum Ausführen von Drittanbieter-Messcode zur Überprüfung der Creative-Wiedergabe erforderlich sind. |
universal_ad_id |
object(UniversalAdID)Optionale universelle Anzeigen-ID. |
companions |
[object(Companion)]Optionale Companion-Anzeigen, die zusammen mit dieser Anzeige ausgeliefert werden können. |
interactive_file |
object(InteractiveFile)Optionales interaktives Creative (SIMID), das während der Anzeigenwiedergabe angezeigt werden soll. |
skip_metadata |
object(SkipMetadata)Optionale Metadaten für überspringbare Anzeigen. Wenn dieser Wert festgelegt ist, gibt er an, dass die Anzeige überspringbar ist. Außerdem enthält er eine Anleitung dazu, wie die Benutzeroberfläche zum Überspringen und das Tracking-Ereignis zu verarbeiten sind. |
extensions |
stringOptionale Liste aller <Extension>-Knoten im VAST. |
Ereignis
Ein Ereignis enthält einen Ereignistyp und eine Präsentationszeit.| JSON-Darstellung |
|---|
{ "time": number, "type": string, } |
| Felder | |
|---|---|
time |
numberDie Präsentationszeit dieses Ereignisses. |
type |
stringDer Typ dieses Ereignisses. |
Untertitel
Der Untertitel beschreibt einen Sidecar-Untertitel-Track 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 die URL zur WebVTT-Sidecar-Datei.| JSON-Darstellung |
|---|
{
"language": string,
"language_name": string,
"ttml": string,
"webvtt": string,
} |
| Felder | |
|---|---|
language |
stringEin Sprachcode, z. B. „en“ oder „de“. |
language_name |
stringAussagekräftiger Name der Sprache. Damit wird zwischen den einzelnen Untertiteln unterschieden, wenn mehrere Untertitel für dieselbe Sprache vorhanden sind. |
ttml |
stringOptionale URL zur TTML-Sidecar-Datei. |
webvtt |
stringOptionale URL zur WebVTT-Sidecar-Datei. |
SkipMetadata
SkipMetadata enthält Informationen, die Clients benötigen, um Skip-Ereignisse für überspringbare Anzeigen zu verarbeiten.| JSON-Darstellung |
|---|
{
"offset": number,
"tracking_url": string,
} |
| Felder | |
|---|---|
offset |
numberDer Offset gibt an, wie viele Sekunden nach Beginn der Anzeige der Player warten soll, bevor er die Schaltfläche „Überspringen“ rendert. Wird ausgelassen, wenn sie im VAST nicht angegeben ist. |
tracking_url |
stringTrackingURL enthält eine URL, die beim Überspringen angepingt werden soll. |
Symbol
„Icon“ 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 Symbol-Clickthrough.| 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. Wenn keine Deal-ID vorhanden ist, ist sie nicht enthalten.| JSON-Darstellung |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| Felder | |
|---|---|
system |
stringKennung des Anzeigensystems. |
ad_id |
stringAnzeigen-ID, die für die Wrapper-Anzeige verwendet wird. |
creative_id |
stringCreative-ID für die Wrapper-Anzeige. |
creative_ad_id |
stringCreative-Anzeigen-ID, die für die Wrapper-Anzeige verwendet wird. |
deal_id |
stringOptionale Deal-ID für die Wrapper-Anzeige. |
Bestätigung
„Verification“ enthält Informationen für Open Measurement, die die Sichtbarkeits- und Verifizierungsmessung 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 |
stringDer Verifikationsanbieter. |
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 |
stringEin 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 |
stringURI zur JavaScript-Nutzlast. |
api_framework |
stringAPIFramework ist der Name des Videoframeworks, das den Bestätigungscode verwendet. |
browser_optional |
booleanGibt an, ob dieses Skript außerhalb eines Browsers ausgeführt werden kann. |
TrackingEvent
TrackingEvent enthält URLs, die vom Client in bestimmten Situationen angepingt werden sollen.| JSON-Darstellung |
|---|
{
"event": string,
"uri": string,
} |
| Felder | |
|---|---|
event |
stringDer Typ des Tracking-Ereignisses. |
uri |
stringDas Tracking-Ereignis, das angepingt werden soll. |
UniversalAdID
Mit UniversalAdID wird eine eindeutige Creative-Kennung bereitgestellt, die in allen Anzeigensystemen beibehalten wird.| JSON-Darstellung |
|---|
{ "id_value": string, "id_registry": string, } |
| Felder | |
|---|---|
id_value |
stringDie universelle Anzeigen-ID des ausgewählten Creatives für die Anzeige. |
id_registry |
stringEin String zur Identifizierung der URL für die Registry-Website, auf der die Universelle Anzeigen-ID des ausgewählten Creatives katalogisiert ist. |
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 diesen Companion. |
creative_type |
stringDas CreativeType-Attribut für den <StaticResource>-Knoten im VAST, wenn es sich um einen Companion vom Typ „static“ handelt. |
height |
int32Die Höhe dieses Companion in Pixeln. |
width |
int32Die Breite dieses Companion-Banners in Pixeln. |
resource |
stringBei statischen und iFrame-Begleit-Creatives ist dies die URL, die geladen und angezeigt werden soll. Bei HTML-Companion-Anzeigen ist das das HTML-Snippet, das als Companion-Anzeige angezeigt werden soll. |
type |
stringTyp dieses Companion. Sie kann statisch, als iFrame oder als HTML-Datei vorliegen. |
ad_slot_id |
stringDie Slot-ID für diesen Companion. |
api_framework |
stringDas 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 Anzeigenwiedergabe angezeigt werden sollen.| JSON-Darstellung |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Felder | |
|---|---|
resource |
stringDie URL zum interaktiven Creative. |
type |
stringDer MIME-Typ der als Ressource bereitgestellten Datei. |
variable_duration |
booleanGibt an, ob für dieses Creative eine Verlängerung der Dauer angefordert werden darf. |
ad_parameters |
stringDer Wert des Knotens <AdParameters> im VAST. |