Mit der Dynamic Ad Inserting API können Sie lineare (Live-)Streams für die dynamische Anzeigenbereitstellung anfordern und erfassen.
Dienst: dai.google.com
Alle unten angegebenen URIs verweisen auf https://dai.google.com
Methode: Stream
Methoden | |
---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
Erstellt einen Stream für die dynamische Anzeigenbereitstellung für die angegebene Ereignis-ID. |
HTTP-Anfrage
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/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 ihn im Anfragetext anzugeben, kann der API-Schlüssel im folgenden Format im HTTP-Autorisierungsheader übergeben werden: Authorization: DCLKDAI key="<api-key>" |
Pfadparameter
Parameter | |
---|---|
assetKey |
string Die Ereignis-ID des Streams. |
Anfragetext
Der Anfragetext ist vom Typ application/x-www-form-urlencoded
und enthält die folgenden Parameter:
Parameter | ||
---|---|---|
dai-ssb |
Optional | Legen Sie |
Targeting-Parameter in DFP | Optional | Zusätzliche Targeting-Parameter. |
Streamparameter überschreiben | Optional | Standardwerte eines Parameters zur Streamerstellung überschreiben. |
HMAC-Authentifizierung | Optional | Mit einem HMAC-basierten Token authentifizieren. |
Antworttext
Wenn der Vorgang erfolgreich ist, enthält der Antworttext einen neuen Stream
. Bei serverseitigen Beaconing-Streams enthält Stream
nur die Felder stream_id
und stream_manifest
.
Offene Messung
Die DAI API enthält im Feld Verifications
Informationen für die Open Measurement-Überprüfung. Dieses Feld enthält ein oder mehrere Verification
-Elemente, die die Ressourcen und Metadaten auflisten, die zum Ausführen des Drittanbieter-Messcodes erforderlich sind, um die Creative-Wiedergabe zu prüfen. Nur JavaScriptResource
wird unterstützt. Weitere Informationen finden Sie im IAB Tech Lab und in den Spezifikationen für VAST 4.1.
Methode: Medienüberprüfung
Wenn bei der Wiedergabe eine Werbe-Media-ID erkannt wird, senden Sie sofort eine Anfrage mit der media_verification_url, die Sie oben vom stream-Endpunkt erhalten haben. Für serverseitige Beaconing-Streams, bei denen der Server die Medienüberprüfung initiiert, sind diese Anfragen nicht erforderlich.
Anfragen an den Endpunkt media verification
sind idempotent.
Methoden | |
---|---|
media verification |
GET /{media_verification_url}/{ad_media_id}
Benachrichtigt die API über ein Medienüberprüfungsereignis. |
HTTP-Anfrage
GET https://{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 ist und alle Pings gesendet werden.HTTP/1.1 404 Not Found
, wenn die Medien aufgrund einer falschen URL-Formatierung oder eines falschen Ablaufdatums nicht in der Anfrage verifiziert werden können.HTTP/1.1 404 Not Found
, wenn eine vorherige Überprüfungsanfrage für diese ID erfolgreich war.HTTP/1.1 409 Conflict
, wenn zu diesem Zeitpunkt bereits eine andere Anfrage Pings sendet.
Media-IDs von Anzeigen (HLS)
Werbemedien-IDs werden mit dem Schlüssel TXXX
in HLS-zeitgesteuerten Metadaten codiert. Dieser Schlüssel ist für Frames mit benutzerdefinierten Textinformationen reserviert. Der Inhalt des Frames ist unverschlüsselt und beginnt immer mit dem Text "google_"
.
Vor jeder Anzeigenüberprüfungsanfrage sollte der gesamte Textinhalt des Frames an die Anzeigenüberprüfungs-URL angehängt werden.
Methode: metadata
Der Metadatenendpunkt unter metadata_url
gibt Informationen zurück, die zum Erstellen einer Anzeigen-UI verwendet werden. Der Metadatenendpunkt ist nicht für serverseitige Beaconing-Streams verfügbar, bei denen der Server für die Initiierung der Anzeigenmedienüberprüfung verantwortlich ist.
Methoden | |
---|---|
metadata |
GET /{metadata_url}/{ad-media-id} GET /{metadata_url}
Ruft Informationen zu Anzeigenmetadaten ab. |
HTTP-Anfrage
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Antworttext
Bei Erfolg gibt die Antwort eine Instanz von PodMetadata
zurück.
Mit Metadaten arbeiten
Metadaten bestehen aus drei separaten Abschnitten: tags
, ads
und Anzeige breaks
. Der Einstiegspunkt in die Daten ist der Abschnitt tags
. Gehen Sie dort die Tags durch und suchen Sie den ersten Eintrag, dessen Name ein Präfix für die Anzeigen-Media-ID im Videostream ist. Ihre Anzeigenmedien-ID könnte zum Beispiel so aussehen:
google_1234567890
Dann finden Sie ein Tag-Objekt mit dem Namen google_12345
. In diesem Fall stimmt sie mit Ihrer Anzeigen-Media-ID überein. Wenn Sie das richtige Anzeigenmedienpräfix-Objekt gefunden haben, können Sie die Anzeigen-IDs, Werbeunterbrechungen-IDs und den Ereignistyp nachschlagen. Anschließend werden die ads
-Objekte mit Werbe-IDs und die breaks
-Objekte mit IDs für Werbeunterbrechungen indexiert.
Antwortdaten
Streamen
Stream wird verwendet, um eine Liste von Ressourcen für einen neu erstellten Stream im JSON-Format zu rendern.JSON-Darstellung |
---|
{ "stream_id": string, "stream_manifest": string, "hls_master_playlist": string, "media_verification_url": string, "metadata_url": string, "session_update_url": string, "polling_frequency": number, } |
Felder | |
---|---|
stream_id |
string Stream-ID. |
stream_manifest |
string Das Manifest des Streams, das der Masterplaylist in HLS oder dem MPD in DASH entspricht. Neben „stream_id“ ist es das einzige Feld, das beim Erstellen eines serverseitigen Beacon-Streams in der Antwort vorhanden ist. |
hls_master_playlist |
string (EINGESTELLT) HLS-Masterplaylist-URL. Verwende stattdessen „stream_manifest“. |
media_verification_url |
string Medienüberprüfungs-URL |
metadata_url |
string Metadaten-URL der Anzeigenmedien |
session_update_url |
string Sitzungs-Update-URL. |
polling_frequency |
number Empfohlene Häufigkeit der Metadaten-URL-Abfrage in Sekunden |
PodMetadata
PodMetadata enthalten Metadateninformationen zu Anzeigen, Werbeunterbrechungen und Media-ID-Tags.JSON-Darstellung |
---|
{ "tags": map[string, object(TagSegment)], "ads": map[string, object(Ad)], "ad_breaks": map[string, object(AdBreak)], } |
Felder | |
---|---|
tags |
map[string, object(TagSegment)] Übersicht von Tag-Segmenten, die nach Tag-Präfix indexiert sind. |
ads |
map[string, object(Ad)] Nach Anzeigen-ID indexierte Übersicht |
ad_breaks |
map[string, object(AdBreak)] Übersicht der Werbeunterbrechungen, die nach Werbeunterbrechungen-ID indexiert wurden. |
TagSegment
„TagSegment“ enthält einen Verweis auf eine Anzeige sowie deren Werbeunterbrechung und Ereignistyp. TagSegment mit type="progress" sollte nicht an den Endpunkt der Anzeigenmedienüberprüfung gepingt werden.JSON-Darstellung |
---|
{ "ad": string, "ad_break_id": string, "type": string, } |
Felder | |
---|---|
ad |
string Die ID der Anzeige dieses Tags. |
ad_break_id |
string ID der Werbeunterbrechung dieses Tags |
type |
string Ereignistyp dieses Tags |
AdBreak
Eine Werbeunterbrechung beschreibt eine einzelne Werbeunterbrechung im Stream. Es enthält eine Dauer, einen Typ (Mid/Vorher/Nachher) und die Anzahl der Anzeigen.JSON-Darstellung |
---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
Felder | |
---|---|
type |
string Gültige Werbeunterbrechungstypen sind: Pre, Mid und Post. |
duration |
number Gesamtdauer der Werbeunterbrechung in Sekunden |
expected_duration |
number Erwartete Dauer der Werbeunterbrechung (in Sekunden), einschließlich aller Anzeigen und Slates |
ads |
number Anzahl der Anzeigen in der Werbeunterbrechung. |
Werbeunterbrechung
„Anzeige“ beschreibt eine Werbeanzeige im Stream.JSON-Darstellung |
---|
{ "ad_break_id": string, "position": 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, "click_tracking_urls": [], "verifications": [object(Verification)], "slate": boolean, "icons": [object(Icon)], "wrappers": [object(Wrapper)], "universal_ad_id": object(UniversalAdID), "extensions": [], "companions": [object(Companion)], "interactive_file": object(InteractiveFile), } |
Felder | |
---|---|
ad_break_id |
string Die ID der Werbeunterbrechung dieser Anzeige. |
position |
number Position dieser Anzeige in der Werbeunterbrechung, beginnend bei 1 |
duration |
number Die Dauer der Anzeige in Sekunden. |
title |
string Optionaler Anzeigentitel |
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 |
click_tracking_urls |
string Optionale Klick-Tracking-URLs: |
verifications |
[object(Verification)] Optionale Einträge für die Open Measurement-Überprüfung. Darin sind die Ressourcen und Metadaten aufgelistet, die erforderlich sind, um Drittanbieter-Messcode auszuführen, um die Creative-Wiedergabe zu prüfen. |
slate |
boolean Optionaler boolescher Wert, der angibt, dass der aktuelle Eintrag Slate ist. |
icons |
[object(Icon)] Eine Liste von Symbolen, die weggelassen werden, wenn das Feld leer ist. |
wrappers |
[object(Wrapper)] Eine Liste der Wrapper, ausgelassen, wenn das Feld leer ist. |
universal_ad_id |
object(UniversalAdID) Optionale universelle Anzeigen-ID |
extensions |
string Optionale Liste aller <Extension>-Knoten im VAST |
companions |
[object(Companion)] Optionale Companions, 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 |
Icon
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-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. Wenn keine Deal-ID vorhanden ist, enthält sie keine Deal-ID.JSON-Darstellung |
---|
{ "system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, } |
Felder | |
---|---|
system |
string Die Werbesystem-ID. |
ad_id |
string Die für die Wrapper-Anzeige verwendete Anzeigen-ID. |
creative_id |
string Für die Wrapper-Anzeige verwendete Creative-ID |
creative_ad_id |
string Die Anzeigen-ID des Creatives, die für die Wrapper-Anzeige verwendet wird. |
deal_id |
string Optionale Deal-ID für die Wrapper-Anzeige |
Überprüfung
Die Überprüfung enthält Informationen für Open Measurement, die die Sichtbarkeits- und Verifizierungsmessung durch Drittanbieter erleichtern. Derzeit werden nur JavaScript-Ressourcen unterstützt. Siehe 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 Bestätigung. |
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 mittels 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, das den Bestätigungscode ausführt. |
browser_optional |
boolean Gibt an, ob dieses Skript außerhalb eines Browsers ausgeführt werden kann. |
TrackingEvent
TrackingEvent enthält URLs, die in bestimmten Situationen vom Client angepingt werden sollten.JSON-Darstellung |
---|
{ "event": string, "uri": string, } |
Felder | |
---|---|
event |
string Der Typ des Tracking-Ereignisses. Aktuell ist gemäß der VAST 4.1-Spezifikation die einzige Option „verificationNotExecuted“. |
uri |
string Das zu kontaktierende Tracking-Ereignis. |
UniversalAdID
UniversalAdID wird verwendet, um eine eindeutige Creative-ID bereitzustellen, die über alle Werbesysteme hinweg verwaltet wird.JSON-Darstellung |
---|
{ "id_value": string, "id_registry": string, } |
Felder | |
---|---|
id_value |
string Die universelle Anzeigen-ID des für die Anzeige ausgewählten Creatives. |
id_registry |
string String zur Identifizierung der URL der 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 eingeblendet werden können.JSON-Darstellung |
---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, } |
Felder | |
---|---|
click_data |
object(ClickData) Die Klickdaten für dieses Companion. |
creative_type |
string Das CreativeType-Attribut im <StaticResource>-Knoten in der VAST-Antwort, wenn es sich um eine statische Companion-Anzeige handelt. |
height |
int32 Die Höhe dieses Companions in Pixeln. |
width |
int32 Die Breite dieses Companions in Pixeln. |
resource |
string Bei statischen und iFrame-Companions ist dies die URL, die geladen und angezeigt werden soll. Für HTML-Companions ist dies das HTML-Snippet, das als Companion angezeigt werden soll. |
type |
string Typ dieses Companions. Er kann entweder statisch, iFrame oder HTML sein. |
InteractiveFile
InteractiveFile enthält Informationen zu interaktiven 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 |
string 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 wird. |
ad_parameters |
string Wert des <AdParameters>-Knotens im VAST |