Google DAI API を使用すると、環境に Google DAI 対応ストリームを実装できます 実装できません引き続き IMA SDK がサポートされているプラットフォームでの IMA。
DAI API は、次のプラットフォームで使用することをおすすめします。
- Samsung スマートテレビ(Tizen)
- LG テレビ
- HbbTV
- Xbox(JavaScript アプリ)
- KaiOS
この API は、IMA DAI SDK の基本的な機能をサポートしています。特定の ご質問がある場合は、Google 担当します。
VOD ストリーム用に DAI API を実装する
DAI API は、HLS プロトコルと DASH プロトコルの両方を使用した VOD ストリームに対応しています。手順 どちらのプロトコルにも当てはまります。
VOD ストリーム用のアプリケーションに API を統合するには、次の手順を完了します。 手順は次のとおりです。
- ストリーム エンドポイントに対して 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 タグを適切なイベントタイプにマッピングするのは面倒です。こちらの
イベントを直接検索するために、次のような ad_breaks 情報を JSON で返しました
ライブコンテンツの場合とほぼ同じです