Google DAI API 可讓你在環境中導入支援 Google DAI 的串流 不支援導入 IMA SDK我們建議您仍使用 IMA SDK 支援 IMA SDK。
我們建議在下列平台上使用 DAI API:
- Samsung 智慧型電視 (Tizen)
- LG 電視
- HbbTV
- Xbox (JavaScript 應用程式)
- KaiOS
這個 API 支援 IMA DAI SDK 提供的基本功能。特定 如有相容性或支援功能相關問題,請洽詢你的 Google 客戶經理。
為 VOD 串流導入 DAI API
DAI API 支援同時使用 HLS 和 DASH 通訊協定的 VOD 串流。步驟 本指南中描述的兩種通訊協定皆適用。
如要將 API 整合到應用程式中以進行 VOD 串流作業,請完成 步驟如下:
向串流端點發出 POST 呼叫來要求串流:
要求主體範例:
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
{
key1 : "value1",
stream_parameter1 : "value2"
}回應主體範例:
{
"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":[...]
}
]
}錯誤回應
如果發生錯誤,會傳回標準 HTTP 錯誤代碼,且不含 JSON 回應內文。
剖析 JSON 回應並儲存下列值:
stream_id
stream_manifest
media_verification_url
ad_breaks
如要執行媒體驗證,請監聽 ID3 事件:
- 將媒體事件儲存在佇列中,一併儲存各個媒體 ID 及其相關資料 時間戳記 (如果由播放器顯示)。
- 每次更新播放器時,或按指定頻率更新時 (建議採用) 500 毫秒),按照 比較事件時間戳記與播放頭
- 針對您確認播放的媒體事件,追蹤播放進度 將媒體 ID 附加至媒體驗證端點,並 GET 要求。
要求主體範例:
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
回應範例:
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
你可以在串流活動中確認追蹤事件 監控
選用:使用串流建立回應中的
ad_breaks
資料進行確認 顯示觸發的事件類型將媒體事件從待播清單中移除。
限制
如果在 WebView 中使用 API,請留意下列限制 至指定目標:
- UserAgent:使用者代理程式參數會以瀏覽器專屬值的形式傳遞 而非基礎平台
rdid
、idtype
,is_lat
:裝置 ID 為 未正確傳遞,導致下列功能受限:- 展示頻率上限
- 依序輪播
- 目標對象區隔和指定目標
最佳做法
針對 VOD 將 ID3 標記對應至適當的事件類型時,就不必耗費大量時間。使用
在 JSON 中傳回 ad_breaks
資訊,以便直接查詢事件,例如:
我們也很擅長製作直播內容