Die DAI API befindet sich in der Betaphase und ist in Ihrem Netzwerk möglicherweise nicht verfügbar. Weitere Informationen erhalten Sie von Ihrem Account Manager. Das IMA SDK wird für Plattformen empfohlen, auf denen es verfügbar ist.
VOD-Streams für die dynamische Anzeigenbereitstellung anfordern
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit der Google DAI API können Sie Streams, die für die dynamische Anzeigenbereitstellung von Google aktiviert sind, in Umgebungen implementieren,
in denen die Implementierung des IMA SDK nicht unterstützt wird. Wir empfehlen Ihnen, weiterhin
IMA auf Plattformen, auf denen das IMA SDK unterstützt wird.
Wir empfehlen die Verwendung der DAI API auf den folgenden Plattformen:
Samsung Smart-TV (Tizen)
LG TV
HbbTV
Xbox (JavaScript-Apps)
KaiOS
Die API unterstützt die grundlegenden Funktionen, die vom IMA DAI SDK bereitgestellt werden. Für spezifische
Fragen zur Kompatibilität oder zu unterstützten Funktionen haben, wenden Sie sich an Ihren Google
Account Manager.
DAI API für VOD-Streams implementieren
Die DAI API unterstützt VOD-Streams, die sowohl HLS- als auch DASH-Protokolle verwenden. Die Schritte
die in diesem Leitfaden beschrieben werden, für beide Protokolle gelten.
Führen Sie die folgenden Schritte aus, um die API in Ihre Anwendung für VOD-Streams zu integrieren:
folgenden Schritten:
Fordern Sie einen Stream an, indem Sie einen POST-Aufruf an den Stream-Endpunkt senden:
Bei Fehlern werden Standard-HTTP-Fehlercodes ohne JSON zurückgegeben.
Antworttext.
Parsen Sie die JSON-Antwort und speichern Sie die folgenden Werte:
stream_id
stream_manifest
media_verification_url
ad_breaks
Warten Sie bei der Medienüberprüfung auf ID3-Ereignisse:
Speichern Sie die Medienereignisse in einer Warteschlange und speichern Sie jede Medien-ID samt ihrer
Zeitstempel (falls vom Player angezeigt)
Bei jedem Update über den Player oder in einer bestimmten Häufigkeit (empfohlen)
500ms), suchen Sie in der Medienereignis-Warteschlange nach kürzlich wiedergegebenen Ereignissen
die Ereigniszeitstempel
mit dem Abspielkopf vergleichen.
Beobachten Sie bei Medienereignissen, bei denen Sie bestätigen, dass sie abgespielt wurden, die Wiedergabe nach
durch Anfügen der Medien-ID an den Endpunkt der Medienüberprüfung und
GET-Anfrage.
Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict
Optional: Sie können die ad_breaks-Daten aus der Antwort zur Streamerstellung verwenden, um nachzusehen.
welche Art von Ereignis ausgelöst wurde.
Entferne das Medienereignis aus der Warteschlange.
Beschränkungen
Bei Verwendung der API in WebViews gelten die folgenden Einschränkungen in Bezug auf
Ausrichtung hinzufügen:
UserAgent: Der User-Agent-Parameter wird als browserspezifischer Wert übergeben.
statt auf die zugrunde liegende Plattform.
rdid,
idtype,
is_lat: Die Geräte-ID lautet
nicht ordnungsgemäß übergeben wurde, wodurch folgende Funktionen eingeschränkt werden:
Frequency Capping
Sequenzielle Anzeigenrotation
Zielgruppensegmentierung und -ausrichtung
Best Practices
Die Zuordnung von ID3-Tags zum entsprechenden Ereignistyp ist bei VOD mühsam. Verwenden Sie die Methode
hat ad_breaks-Informationen im JSON-Format zurückgegeben, um das Ereignis direkt zu suchen, z. B.
wie bei Live-Inhalten.
[null,null,["Zuletzt aktualisiert: 2025-08-21 (UTC)."],[[["\u003cp\u003eThe Google DAI API enables Google DAI streams on platforms where the IMA SDK isn't supported, but IMA is still recommended where it's available.\u003c/p\u003e\n"],["\u003cp\u003eThe DAI API, supporting VOD streams with HLS and DASH protocols, is recommended for platforms like Samsung Smart TV, LG TV, HbbTV, Xbox (Javascript apps), and KaiOS.\u003c/p\u003e\n"],["\u003cp\u003eImplementing the DAI API involves requesting a stream, parsing the response, performing media verification using ID3 events, and optionally utilizing \u003ccode\u003ead_breaks\u003c/code\u003e data for event lookup.\u003c/p\u003e\n"],["\u003cp\u003eWhile using the API in webviews has limitations affecting targeting and device ID passing, it's best practice to utilize \u003ccode\u003ead_breaks\u003c/code\u003e data for event identification in VOD.\u003c/p\u003e\n"]]],[],null,["# Request DAI VOD streams\n\nThe Google DAI API lets you implement Google DAI-enabled streams in environments\nwhere implementing the IMA SDK is not supported. We recommend that you still use\nIMA on platforms where the IMA SDK is supported.\n\nWe recommend using the DAI API on the following platforms:\n\n- Samsung Smart TV (Tizen)\n- LG TV\n- HbbTV\n- Xbox (Javascript apps)\n- KaiOS\n\nThe API supports the basic features provided by the IMA DAI SDK. For specific\nquestions about compatibility or supported features, reach out to your Google\naccount manager.\n\nImplement the DAI API for VOD streams\n-------------------------------------\n\nThe DAI API supports VOD streams using both HLS and DASH protocols. The steps\ndescribed in this guide apply to both protocols.\n\nTo integrate the API into your application for VOD streams, complete the\nfollowing steps:\n\n1. Request a stream by making a POST call to the stream endpoint:\n\n **Example request body:** \n\n https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream\n\n {\n key1 : \"value1\",\n stream_parameter1 : \"value2\"\n }\n\n | **Note:** `api_key` can be supplied using the `Authorization` HTTP header.\n\n **Example response body:** \n\n {\n \"stream_id\":\"d32f8920-612a-4d46-8bc7-d73fd6c17c85\",\n \"total_duration\":636.458,\n \"content_duration\":596.458,\n \"valid_for\":\"8h0m0s\",\n \"valid_until\":\"2020-06-04T20:39:41.274707306-07:00\",\n \"stream_manifest\":\"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd\",\n \"media_verification_url\":\"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/\",\n \"ad_breaks\":[\n {\n \"type\":\"pre\",\n \"start\":0,\n \"duration\":10,\n \"ads\":[\n {\n \"seq\":1,\n \"duration\":10,\n \"title\":\"External NCA1C1L1 Preroll\",\n \"description\":\"External NCA1C1L1 Preroll ad\",\n \"clickthrough_url\":\"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365\",\n \"events\":[\n {\n \"time\":0.1,\n \"type\":\"start\"\n },\n {\n \"time\":2.5,\n \"type\":\"firstquartile\"\n },\n {\n \"time\":4.75,\n \"type\":\"midpoint\"\n },\n {\n \"time\":7.5,\n \"type\":\"thirdquartile\"\n },\n {\n \"time\":9,\n \"type\":\"complete\"\n }\n ]\n }\n ]\n },\n {\n \"type\":\"mid\",\n \"start\":45,\n \"duration\":10,\n \"ads\":[\n {.... }\n ]\n }\n ]\n },\n {\n \"type\":\"post\",\n \"start\":626.458,\n \"duration\":10,\n \"ads\":[...]\n }\n ]\n }\n\n **Error Response**\n\n In case of errors, standard HTTP error codes are returned with no JSON\n response body.\n2. Parse the JSON response and store the following values:\n\n - `stream_id`\n - `stream_manifest`\n - `media_verification_url`\n - `ad_breaks`\n3. To perform media verification, listen for ID3 events:\n\n 1. Store the media events in a queue, saving each media ID along with its timestamp (if surfaced by the player).\n 2. On each time update from the player, or at a set frequency (recommended 500ms), check the media events queue for recently played events by comparing the event timestamps to the playhead.\n 3. For media events that you confirm have played, track the playback by appending the media ID to the media verification endpoint and making a GET request.\n\n **Example request body:** \n\n https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/\n\n **Example responses:** \n\n Accepted for asynchronous verification - HTTP/1.1 202 Accepted\n Successful empty response - HTTP/1.1 204 No Content\n Media verification not found - HTTP/1.1 404 Not Found\n Media verification sent by someone else - HTTP/1.1 409 Conflict\n\n You can verify tracking events in [Stream Activity\n Monitor](//support.google.com/admanager/answer/7009058).\n4. Optional: Use the `ad_breaks` data from the stream create response to look\n up what type of event was fired.\n\n5. Remove the media event from the queue.\n\nLimitations\n-----------\n\nIf using the API within webviews, the following limitations apply with respect\nto targeting:\n\n- UserAgent: The user agent parameter is passed as browser specific value instead of the underlying platform.\n- [`rdid`](//support.google.com/admanager/answer/7320899), [`idtype`](//support.google.com/admanager/answer/7320899), [`is_lat`](//support.google.com/admanager/answer/7320899): The device ID is not properly passed, which limits the following features:\n - Frequency capping\n - Sequential ad rotation\n - Audience segmentation and targeting\n\nBest practices\n--------------\n\nMapping ID3 tags to the appropriate event type is tedious on VOD. Use the\nreturned `ad_breaks` information in the JSON to look up the event directly, like\nyou would with live content.\n\nAdditional resources\n--------------------\n\n- [API reference\n documentation](/ad-manager/dynamic-ad-insertion/api/full-service/reference/vod)\n- [Simple sample](//github.com/googleads/googleads-dynamic-ad-insertion/tree/master/simple/VOD)\n- [IMA SDK documentation](/interactive-media-ads)\n- [DAI layer implementation types comparison](//support.google.com/admanager/answer/9840889)"]]