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.
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 |
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
„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 vorhandenJSON-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. |