VOD API für die dynamische Anzeigenbereitstellung

Mit der Dynamic Ad Insert API können Sie die dynamische Anzeigenbereitstellung anfordern und erfassen. Video-on-Demand (VOD)-Streams. 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-Stream für die dynamische Anzeigenbereitstellung für die angegebene Contentquelle und Video-ID.

POST /ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

Erstellt einen DASH-Stream für die dynamische Anzeigenbereitstellung 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 bereitgestellt 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 folgendem Format:

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 folgende Parameter:

Parameter
dai-ssb Optional

Legen Sie true fest, um einen serverseitigen Beaconing-Stream zu erstellen. Die Standardeinstellung ist false. Tracking des Standardstreams wird vom Client initiiert und serverseitig angepingt.

DFP-Targeting-Parameter Optional <ph type="x-smartling-placeholder"></ph> Zusätzliche Targeting-Parameter
Stream-Parameter überschreiben Optional <ph type="x-smartling-placeholder"></ph> Standardwerte eines Parameters zur Streamerstellung überschreiben.
HMAC-Authentifizierung Optional <ph type="x-smartling-placeholder"></ph> Authentifizieren Sie sich mit einem HMAC-basierten Token.

Antworttext

Wenn der Vorgang erfolgreich ist, enthält der Antworttext ein neues Stream Für serverseitige Beaconing-Streams: Stream enthält nur die Felder stream_id und stream_manifest.

Open Measurement

Das Feld Verifications enthält Informationen für Messprüfung für Streams, die keine serverseitigen Beaconing-Streams sind Verifications enthält ein oder mehrere Verification-Elemente zum Auflisten der Ressourcen und Metadaten, die Sie benötigen, um die Creative-Wiedergabe mit dem Drittanbieter-Messcode zu überprüfen. Es wird nur JavaScriptResource unterstützt. Weitere Informationen finden Sie im IAB Tech Lab und der VAST 4.1-Spezifikation.

Methode: Medienüberprüfung

Wenn Sie bei der Wiedergabe auf eine Medien-ID stoßen, Anfrage mit media_verification_url aus stream Endpunkt. media_verification_url ist ein absoluter Pfad. Für serverseitige Beaconing-Streams sind keine Mediaüberprüfungen erforderlich. bei dem der Server die Medienüberprüfung initiiert.

Anfragen an den Endpunkt media verification sind idempotent.

Methoden
media verification GET {media_verification_url}/{ad_media_id}

Benachrichtigt die API über Medienüberprüfungsereignisse.

HTTP-Anfrage

GET {media-verification-url}/{ad-media-id}

Antworttext

media verification gibt folgende Antworten zurück:

  • HTTP/1.1 204 No Content, wenn die Medienüberprüfung erfolgreich ist und alle Pings gesendet werden.
  • HTTP/1.1 404 Not Found, wenn das Medium aufgrund einer falschen URL-Formatierung oder eines falschen Ablaufs nicht überprüft werden kann.
  • HTTP/1.1 404 Not Found, wenn eine vorherige Bestätigungsanfrage für diese ID erfolgreich war.
  • HTTP/1.1 409 Conflict, wenn derzeit über eine andere Anfrage bereits Pings gesendet werden.

Media-IDs von Anzeigen (HLS)

Media-IDs für Anzeigen werden mit dem Schlüssel TXXX in HLS Timed Metadata codiert. reserviert für "benutzerdefinierte Textinformationen" Frames. Inhalt des Frames werden unverschlüsselt und beginnen immer mit dem Text "google_".

Der gesamte Textinhalt des Frames wird an den media_verification_url.

Media-IDs für Anzeigen (DASH)

Media-IDs für Anzeigen werden durch die Verwendung von Das EventStream-Element von DASH.

Jeder EventStream hat den Schema-ID-URI urn:google:dai:2018. Sie enthalten Ereignisse, bei denen das Attribut messageData Folgendes enthält: Die Media-ID der Anzeige beginnt mit “google_”. Der gesamte Inhalt von messageData an media_verification_url für jede Anzeige angehängt werden. Bestätigungsanfrage gesendet werden.

Antwortdaten

Stream

Der Stream wird verwendet, um eine Liste aller Ressourcen für ein neu erstelltes Stream im JSON-Format .
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 des Inhalts ohne Anzeigen in Sekunden.
valid_for string

Dauer des Streams in „00h00m00s“ ist gültig für .
valid_until string

Datum, bis zu dem der Stream gültig ist, im RFC 3339-Format.
subtitles [object(Subtitle)]

Eine Liste von Untertiteln. Ausgelassen, wenn leer. Nur HLS.
hls_master_playlist string

(VERWORFEN) URL der HLS-Masterplaylist. stream_manifest verwenden. Nur HLS.
stream_manifest string

Das Manifest des Streams. Entspricht der Masterplaylist in HLS und der MPD-Datei in DASH. Dies ist das einzige Feld neben „stream_id“ die in der Antwort vorhanden ist, einen serverseitigen Beaconing-Stream
media_verification_url string

Medienbestätigungs-URL
apple_tv object(AppleTV)

Optionale Informationen speziell für AppleTV-Geräte. Nur HLS.
ad_breaks [object(AdBreak)]

Eine Liste der Werbeunterbrechungen. Ausgelassen, wenn leer.

AppleTV

AppleTV enthält Informationen speziell für Apple TV-Geräte.
JSON-Darstellung
{
  "interstitials_url": string,
}
Felder
interstitials_url string

URL der Interstitials:

AdBreak

Eine Werbeunterbrechung beschreibt eine einzelne Werbeunterbrechung im Stream. Sie enthält eine Position, eine Dauer, einen Typ (Mitte/Vor/Nach) und eine Liste von Anzeigen.
JSON-Darstellung
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
Felder
type string

Gültige Pausentypen sind: mid, pre und post.
start number

Position im Stream, an der die Pause beginnt (in Sekunden).
duration number

Dauer der Werbeunterbrechung in Sekunden
ads [object(Ad)]

Eine Liste mit Anzeigen. Ausgelassen, wenn leer.
„Anzeige“ beschreibt eine Anzeige im Stream. Er enthält die Position der Anzeige im die Pause, 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),
}
Felder
seq number

Position der Anzeige in der Unterbrechung.
start number

Position (in Sekunden) im Stream, an der die Anzeige gestartet wird.
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 weggelassen wird, wenn sie leer ist.
wrappers [object(Wrapper)]

Eine Liste der Wrapper. Ausgelassen, wenn leer.
events [object(Event)]

Eine Liste der Ereignisse in der Anzeige.
verifications [object(Verification)]

Optionale Open Measurement-Überprüfungseinträge, in denen die Ressourcen aufgelistet sind und Metadaten, die erforderlich sind, um Drittanbieter-Messcode auszuführen, Creative-Wiedergabe zu präsentieren.
universal_ad_id object(UniversalAdID)

Optionale universelle Anzeigen-ID.
companions [object(Companion)]

Optionale Companions, die zusammen mit dieser Anzeige angezeigt 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 festgelegt, wird die Anzeige ist überspringbar und enthält eine Anleitung zur Benutzeroberfläche und das Tracking-Ereignis.

Ereignis

Das Ereignis enthält einen Ereignistyp und eine Präsentationszeit des Ereignisses.
JSON-Darstellung
{
  "time": number,
  "type": string,
}
Felder
time number

Zeitpunkt der Präsentation dieses Termins.
type string

Der Typ dieses Ereignisses.

Untertitel

Subtitle beschreibt einen Sidecar-Untertitel für den Videostream. Sie speichert zwei Untertitelformate: TTML und WebVTT. Das TTMLPath-Attribut enthält die URL zur TTML-Sidecar-Datei hinzugefügt wurde und das WebVTTPath-Attribut ebenfalls eine URL enthält, in die WebVTT-Sidecar-Datei ein.
JSON-Darstellung
{
  "language": string,
  "language_name": string,
  "ttml": string,
  "webvtt": string,
}
Felder
language string

Ein Sprachcode wie „de“ oder „de“.
language_name string

Beschreibender Name der Sprache. Sie unterscheidet die spezifische Gruppe von Untertitel, wenn mehrere Sätze für dieselbe Sprache vorhanden sind.
ttml string

Optionale URL zur TTML-Sidecar-Datei
webvtt string

Optionale URL zur WebVTT-Sidecar-Datei

SkipMetadata

SkipMetadata stellt Informationen bereit, die Clients zur Verarbeitung von Überspringen-Ereignissen für überspringbare Anzeigen benötigen.
JSON-Darstellung
{
  "offset": number,
  "tracking_url": string,
}
Felder
offset number

„Offset“ gibt die Zeit in Sekunden an, die die Anzeige im Player angezeigt wird. bis die Schaltfläche „Überspringen“ zu sehen ist. Sie werden ausgelassen, wenn sie nicht in der VAST-Antwort angegeben sind.
tracking_url string

TrackingURL enthält eine URL, die beim Überspringen-Ereignis gepingt werden muss.

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 Click-through eines Symbols.
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. Es enthält kein Deal-ID, falls nicht vorhanden
JSON-Darstellung
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
Felder
system string

System-ID des Anzeigenkontos.
ad_id string

Die für die Wrapper-Anzeige verwendete Anzeigen-ID.
creative_id string

Creative-ID, die für die Wrapper-Anzeige verwendet wird
creative_ad_id string

Die für die Wrapper-Anzeige verwendete Creative-Anzeigen-ID.
deal_id string

Optionale Deal-ID für die Wrapper-Anzeige

Überprüfung

Die Überprüfung enthält Informationen für Open Measurement, die Sichtbarkeits- und Verifizierungsmessung durch Drittanbieter. 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 Anbieter der Überprüfung
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 Überprüfung
parameters string

Ein intransparenter String, der an den Bootstrap-Bestätigungscode übergeben wird.

JavaScriptResource

JavaScriptResource enthält Informationen zur Überprüfung mit JavaScript.
JSON-Darstellung
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
Felder
script_url string

URI zur JavaScript-Nutzlast.
api_framework string

APIFramework ist der Name des Video-Frameworks, Bestätigungscode.
browser_optional boolean

Ob das Script außerhalb eines Browser.

TrackingEvent

TrackingEvent enthält URLs, die vom Client in bestimmten Situationen.
JSON-Darstellung
{
  "event": string,
  "uri": string,
}
Felder
event string

Die Art des Tracking-Ereignisses.
uri string

Das Tracking-Ereignis, das gepingt werden soll.

UniversalAdID

UniversalAdID verwendet wird, um eine eindeutige Creative-ID bereitzustellen, die über alle Anzeigensysteme hinweg verwaltet werden.
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 zur Identifizierung der URL der Registry-Website, auf der die wird die universelle Anzeigen-ID des ausgewählten Creatives katalogisiert.

Companion

Companion enthält Informationen zu Companion-Anzeigen, die angezeigt werden können. zusammen mit der Anzeige.
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_type string

Das CreativeType-Attribut in <StaticResource> Knoten im VAST, wenn Dies ist ein Companion des Typs „static“.
height int32

Die Höhe dieses Companion in Pixeln.
width int32

Die Breite dieses Companion in Pixeln.
resource string

Für statische Companions und iFrame-Companions ist dies die zu ladende URL. angezeigt. Für HTML-Companions ist dies das HTML-Snippet, das als Companion angezeigt werden.
type string

Der Typ dieses Companion. Er kann entweder statisch, iFrame oder HTML sein.
ad_slot_id string

Die Anzeigenflächen-ID für diese Companion-Anzeige.
api_framework string

Das API-Framework für diese Companion-Anzeige.
tracking_events [object(TrackingEvent)]

Liste der Tracking-Ereignisse für diese Companion-Anzeige.

InteractiveFile

InteractiveFile enthält Informationen für interaktive Creatives (z. B. SIMID). der während der Wiedergabe angezeigt werden sollte.
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 Datei, die als Ressource bereitgestellt wird.
variable_duration boolean

Gibt an, ob für dieses Creative eine Verlängerung der Dauer angefordert werden kann.
ad_parameters string

Der Wert von <AdParameters> Knoten im VAST.