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:
Beispiel für einen Anfragetext:
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream { key1 : "value1", stream_parameter1 : "value2" }
Beispiel für einen Antworttext:
{ "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85", "total_duration":636.458, "content_duration":596.458, "valid_for":"8h0m0s", "valid_until":"2020-06-04T20:39:41.274707306-07:00", "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd", "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/", "ad_breaks":[ { "type":"pre", "start":0, "duration":10, "ads":[ { "seq":1, "duration":10, "title":"External NCA1C1L1 Preroll", "description":"External NCA1C1L1 Preroll ad", "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365", "events":[ { "time":0.1, "type":"start" }, { "time":2.5, "type":"firstquartile" }, { "time":4.75, "type":"midpoint" }, { "time":7.5, "type":"thirdquartile" }, { "time":9, "type":"complete" } ] } ] }, { "type":"mid", "start":45, "duration":10, "ads":[ {.... } ] } ] }, { "type":"post", "start":626.458, "duration":10, "ads":[...] } ] }
Fehlerantwort
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.
Beispiel für einen Anfragetext:
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
Beispielantworten:
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
Sie können Tracking-Ereignisse unter Stream-Aktivitäten Monitoring:
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.