Mit der API für die dynamische Anzeigenbereitstellung können Sie lineare DAI-Streams (LIVE) anfordern und verfolgen.
Dienst: dai.google.com
Alle URIs beziehen sich auf https://dai.google.com
Methode: stream
| Methoden | |
|---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
Erstellt einen DAI-Stream für die angegebene Event-ID. |
HTTP-Anfrage
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/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 | |
|---|---|
assetKey |
stringDie Ereignis-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 |
| DFP-Ausrichtungsparameter | 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
Die DAI API enthält Informationen zur Open Measurement-Überprüfung im Feld Verifications. Dieses Feld enthält ein oder mehrere Verification-Elemente, in denen die Ressourcen und Metadaten aufgeführt sind, die zum Ausführen von Drittanbieter-Messcode zur Überprüfung der Creative-Wiedergabe erforderlich sind. Nur JavaScriptResource wird unterstützt. Weitere Informationen finden Sie auf der IAB Tech Lab-Website und in der VAST 4.1-Spezifikation.
Methode: Media-Überprüfung
Wenn während der Wiedergabe eine Media-ID für Anzeigen gefunden wird, senden Sie sofort eine Anfrage über die media_verification_url, die Sie vom stream-Endpunkt erhalten haben. Diese Anfragen sind für Streams mit serverseitigem Beaconing nicht erforderlich, da die Media-Ü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 Media-Bestätigungsereignis. |
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 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 vor jeder Anfrage zur Anzeigenüberprüfung an die URL zur Anzeigenüberprüfung angehängt werden.
Methode: Metadaten
Der Metadaten-Endpunkt unter metadata_url gibt Informationen zurück, die zum Erstellen einer Benutzeroberfläche für Anzeigen verwendet werden. Der Metadatenendpunkt ist nicht für Streams mit serverseitigem Beaconing verfügbar, bei denen der Server für die Initiierung der Überprüfung von Werbemedien verantwortlich ist.
| Methoden | |
|---|---|
metadata |
GET /{metadata_url}/{ad-media-id}GET /{metadata_url}
Ruft Metadateninformationen zur Anzeige ab. |
HTTP-Anfrage
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Suchparameter
| Parameter | ||
|---|---|---|
delta_token |
optional |
string
Ein intransparentes Token, das den aktuellen Synchronisierungsstatus des Clients darstellt.
Falls angegeben, gibt der Server nur die Metadaten zurück, die sich seit der Generierung des Tokens geändert haben, sowie ein neues |
Antworttext
Bei Erfolg gibt die Antwort eine Instanz von PodMetadata zurück.
Mit Metadaten arbeiten
Metadaten haben drei separate Abschnitte: tags, ads und breaks. Der Einstiegspunkt in die Daten ist der Bereich tags. Durchlaufen Sie die Tags und suchen Sie nach dem ersten Eintrag, dessen Name ein Präfix für die Media-ID der Anzeige im Videostream ist. Beispiel:
google_1234567890
Anschließend finden Sie ein Tag-Objekt mit dem Namen google_12345. In diesem Fall entspricht sie Ihrer Media-ID für Anzeigen. Sobald Sie das richtige Präfixobjekt für Anzeigenmedien gefunden haben, können Sie nach Anzeigen-IDs, Werbeunterbrechungs-IDs und dem Ereignistyp suchen. Anzeigen-IDs werden dann zum Indexieren der ads-Objekte und Werbeunterbrechungs-IDs zum Indexieren der breaks-Objekte verwendet.
Antwortdaten
Stream
Mit „Stream“ wird eine Liste von Ressourcen für einen neu erstellten Stream im JSON-Format gerendert.| 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 |
stringDie GAM-Stream-ID. |
stream_manifest |
stringDie Manifest-URL des Streams, die zum Abrufen der Playlist mit mehreren Varianten in HLS oder des MPD in DASH verwendet wird. |
hls_master_playlist |
string(DEPRECATED) HLS-Playlist-URL mit mehreren Varianten. Verwenden Sie stattdessen „stream_manifest“. |
media_verification_url |
stringDie Bestätigungs-URL für Medien, die als Basisendpunkt für das Tracking von Wiedergabeereignissen verwendet wird. |
metadata_url |
stringMetadaten-URL, die zum Abrufen von regelmäßigen Informationen zu anstehenden Stream-Werbeereignissen verwendet wird. |
session_update_url |
stringDie Aktualisierungs-URL der Sitzung, die zum Aktualisieren der Ausrichtungsparameter für diesen Stream verwendet wird. Die ursprünglichen Werte für die Targeting-Parameter werden bei der ersten Anfrage zur Streamerstellung erfasst. |
polling_frequency |
numberDie Abfragehäufigkeit in Sekunden beim Anfordern von metadata_url oder heartbeat_url. |
PodMetadata
PodMetadata enthält Metadaten 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)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| Felder | |
|---|---|
tags |
map[string, object(TagSegment)]Karte der Tag-Segmente, die nach Tag-Präfix indexiert sind. |
ads |
map[string, object(Ad)]Karte der nach Anzeigen-ID indexierten Anzeigen. |
ad_breaks |
map[string, object(AdBreak)]Karte der Werbeunterbrechungen, indexiert nach der ID der Werbeunterbrechung. |
next_delta_token |
stringEin verschlüsseltes Token, das der Client beim nächsten Poll verwenden soll. |
obsolete_ad_break_ids |
stringEine Liste mit Anzeigenunterbrechungs-IDs, die nicht mehr aktuell sind und aus dem Cache des Clients entfernt werden sollten. |
TagSegment
„TagSegment“ enthält einen Verweis auf eine Anzeige, die zugehörige Werbeunterbrechung und den Ereignistyp. TagSegment mit type="progress" sollte nicht an den Endpunkt für die Überprüfung von Anzeigenmedien gesendet werden.| JSON-Darstellung |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| Felder | |
|---|---|
ad |
stringDie ID der Anzeige dieses Tags. |
ad_break_id |
stringDie ID der Werbeunterbrechung dieses Tags. |
type |
stringDer Ereignistyp dieses Tags. |
AdBreak
„AdBreak“ beschreibt eine einzelne Werbeunterbrechung im Stream. Sie enthält eine Dauer, einen Typ (Mid/Pre/Post) und die Anzahl der Anzeigen.| JSON-Darstellung |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| Felder | |
|---|---|
type |
stringGültige Pausentypen sind: „pre“, „mid“ und „post“. |
duration |
numberGesamtdauer der Anzeigen für diese Werbeunterbrechung in Sekunden. |
expected_duration |
numberErwartete Dauer der Werbeunterbrechung (in Sekunden), einschließlich aller Anzeigen und aller Slates. |
ads |
numberAnzahl der Anzeigen in der Werbeunterbrechung. |
Anzeige
„Anzeige“ beschreibt eine Anzeige 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 |
stringDie ID der Werbeunterbrechung dieser Anzeige. |
position |
numberPosition dieser Anzeige in der Werbeunterbrechung, beginnend mit 1. |
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. |
click_tracking_urls |
stringOptionale Klick-Tracking-URLs |
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. |
slate |
booleanOptionaler boolescher Wert, der angibt, ob der aktuelle Eintrag ein Slate ist. |
icons |
[object(Icon)]Eine Liste von Symbolen, die ausgelassen wird, wenn sie leer ist. |
wrappers |
[object(Wrapper)]Eine Liste von Wrappern, die ausgelassen wird, wenn sie leer ist. |
universal_ad_id |
object(UniversalAdID)Optionale universelle Anzeigen-ID. |
extensions |
stringOptionale Liste aller <Extension>-Knoten im VAST. |
companions |
[object(Companion)]Optionale Begleit-Creatives, 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. |
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, die für die Wrapper-Anzeige verwendet wird. |
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 nicht transparenter 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 Companions. 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. |