Mit der Dynamic Ad Insert API können Sie die dynamische Anzeigenbereitstellung anfordern und erfassen. lineare Livestreams (LIVE-Streams).
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 übergeben werden, im HTTP-Autorisierungsheader mit folgendem Format: Authorization: DCLKDAI key="<api-key>" |
Pfadparameter
Parameter | |
---|---|
assetKey |
string Die Ereignis-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
Die DAI API enthält Informationen zur Open Measurement-Überprüfung in der
Verifications
-Feld. Dieses Feld enthält mindestens einen
Verification
-Elemente, die die für die Ausführung erforderlichen Ressourcen und Metadaten auflisten
Drittanbieter-Messcode verwenden, um die Creative-Wiedergabe zu überprüfen. Nur
JavaScriptResource
wird unterstützt. Weitere Informationen finden Sie in der
IAB Tech Lab und die
VAST 4.1-Spezifikation.
Methode: Medienüberprüfung
Wenn bei der Wiedergabe eine Medien-ID für die Anzeige erkannt wird, Anfrage mit der media_verification_url aus dem stream Endpunkt oben. Für das serverseitige Beaconing sind diese Anfragen nicht erforderlich. Streams, bei denen 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 https://{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 aus Anzeigen werden mithilfe des Schlüssels in HLS Timed Metadata codiert
TXXX
, reserviert für „benutzerdefinierte Textinformationen“ Frames. Die
Der Inhalt des Frames wird nicht verschlüsselt und beginnt immer mit dem Text.
"google_"
Der gesamte Textinhalt des Frames sollte an die Anzeigenüberprüfung angehängt werden. URL vor jeder Anzeigenüberprüfungsanforderung zu sehen.
Methode: metadata
Der Metadaten-Endpunkt metadata_url
gibt Informationen zurück, die zum Erstellen einer Anzeige verwendet werden.
UI. Der Metadatenendpunkt ist nicht
für serverseitige Beaconing-Streams verfügbar,
Der Server ist hier für die Initiierung der Überprüfung der Anzeigenmedien zuständig.
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
Mit Metadaten arbeiten
Metadaten haben drei separate Abschnitte: tags
, ads
und Anzeige breaks
. Der Eintrag
Punkt in die Daten ist der Abschnitt tags
. Anschließend können Sie die Tags
und suchen Sie den ersten Eintrag, dessen Name ein Präfix für die
Die Media-ID der Anzeige wurde im Videostream gefunden. Zum Beispiel haben Sie
könnte eine Anzeigenmedien-ID haben, die so aussieht:
google_1234567890
Nun finden Sie ein Tag-Objekt mit dem Namen google_12345
. In diesem Fall entspricht er
Media-ID der Anzeige. Sobald Sie das richtige Anzeigenmedienpräfix-Objekt gefunden haben, können Sie
Anzeigen-IDs, Werbeunterbrechungen-IDs und den Ereignistyp. Die Anzeigen-IDs werden dann zur Indexierung der
ads
-Objekte und Werbeunterbrechungs-IDs werden verwendet, um die breaks
-Objekte zu indexieren.
Antwortdaten
Stream
Mit „Stream“ wird eine Liste von Ressourcen für einen neu erstellten Stream in JSON-Format.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 Die GAM-Stream-ID |
stream_manifest |
string Die Manifest-URL des Streams, die zum Abrufen der Playlist mit mehreren Varianten in HLS oder dem MPD-Datei in DASH an. |
hls_master_playlist |
string (VERWORFEN) URL der HLS-Playlist mit mehreren Varianten. „stream_manifest“ verwenden stattdessen. |
media_verification_url |
string Die Medienbestätigungs-URL, die als Basisendpunkt für das Tracking von Wiedergabeereignissen verwendet wird. |
metadata_url |
string Metadaten-URL, mit der regelmäßig Informationen zu anstehenden Stream-Anzeigenereignissen abgerufen werden |
session_update_url |
string Die Aktualisierungs-URL der Sitzung, die zum Aktualisieren der Targeting-Parameter für diesen Stream verwendet wird. Die ursprünglichen Werte für die Targeting-Parameter werden bei der ersten Anfrage zum Erstellen des Streams erfasst. |
polling_frequency |
number Die Abfragehäufigkeit in Sekunden bei Anfragen von metadata_url oder heartbeat_url. |
PodMetadata
PodMetadata enthalten 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)], } |
Felder | |
---|---|
tags |
map[string, object(TagSegment)] Zuordnung von Tag-Segmenten, die nach Tag-Präfix indexiert sind. |
ads |
map[string, object(Ad)] Zuordnung der nach Anzeigen-ID indexierten Anzeigen. |
ad_breaks |
map[string, object(AdBreak)] Zuordnung der Werbeunterbrechungen, die nach der ID der Werbeunterbrechung indexiert sind |
TagSegment
TagSegment enthält einen Verweis auf eine Anzeige, die zugehörige Werbeunterbrechung und den Ereignistyp. TagSegment mit type="progress" sollten nicht an die Anzeigenmedien gepingt werden. den Endpunkt der Überprüfung.JSON-Darstellung |
---|
{ "ad": string, "ad_break_id": string, "type": string, } |
Felder | |
---|---|
ad |
string Die ID der Anzeige dieses Tags |
ad_break_id |
string Das ist die ID der Werbeunterbrechung dieses Tags. |
type |
string Der 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 Pausentypen sind: pre, mid und post. |
duration |
number Gesamte Anzeigendauer für diese 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 |
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 |
string Das ist die ID der Werbeunterbrechung dieser Anzeige. |
position |
number Position dieser Anzeige in der Werbeunterbrechung, beginnend bei 1 |
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: |
click_tracking_urls |
string Optionale Klick-Tracking-URLs: |
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. |
slate |
boolean Optionaler boolescher Wert, der angibt, dass der aktuelle Eintrag ein Slate ist. |
icons |
[object(Icon)] Eine Liste von Symbolen, die weggelassen wird, wenn sie leer ist. |
wrappers |
[object(Wrapper)] Eine Liste von Wrappern, die weggelassen werden, wenn sie leer ist. |
universal_ad_id |
object(UniversalAdID) Optionale universelle Anzeigen-ID. |
extensions |
string Optionale Liste aller <Extension>-Tags in der VAST-Antwort. |
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. |
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. |