これまでの Chromecast と DAI の統合とは異なり、CAF DAI SDK はキャスト アプリ フレームワークで定められた標準と想定の維持に重点を置いています。そのため、送信側アプリを高度にカスタマイズして、IMA と送信側アプリの間の双方向通信を管理する必要はありません。これらの通信は、統合された CAF のミッドロール挿入点機能を介して管理されるようになりました。これにより、送信側アプリと受信側間の通信にカスタム メッセージ システムを使用する必要がなくなりました。
送信者によっては、CAF ミッドロール挿入点のサポートを完全に有効にするため、ウェブの送信者へのスキップ可能な広告のサポートの追加など、いくつかの制限付きコードを送信者に追加する必要がある場合があります。
現時点で必要なのは、CAF ミッドロール挿入点のサポートを除き、送信者から受信者に送信される CAF MediaInfo オブジェクトに DAI ストリーム データを含めることだけです。このデータはさまざまな方法で送信できます。たとえば、レシーバーに contentSourceID をハードコードし、MediaInfo オブジェクトを使用して videoID のみを送信したり、任意の識別子をレシーバーに送信し、オンライン データベースから実際の DAI パラメータを取得したりできます。
ただし、わかりやすくするために、すべてのサンプルでは MediaInfo オブジェクトに対して次のシンプルな構造と命名規則に従っていることを前提としています。
contentId | このメディア アイテムの一意の識別子です | |
contentUrl | なんらかの理由で DAI StreamRequest が失敗した場合に読み込まれる代替ストリーム URL | |
streamType | ライブ配信の場合は、この値は「LIVE」に設定する必要があります。VOD ストリームの場合は、この値は「BUFFERED」に設定する必要があります | |
customData | assetKey | ライブ配信のみ。読み込むライブ ストリームを識別します |
contentSourceId | VOD ストリームのみリクエストされたストリームを含むメディア フィードを指定します。 | |
videoId | VOD ストリームのみ指定されたメディア フィード内のリクエストされたストリームを識別します。 | |
ApiKey | IMA DAI SDK からストリーム URL を取得するために必要な API キー(省略可)。 | |
senderCanSkip | 送信デバイスにスキップボタンを表示する機能があるかどうかを受信側に知らせるブール値。これにより、スキップ可能な広告のサポートが有効になります。 |
ライブ配信の例:
{
"media": {
"contentId": "bbb",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
"streamType": "LIVE",
"customData": {
"assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
VOD ストリームの例:
{
"media": {
"contentId": "tos",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
"streamType": "BUFFERED",
"customData": {
"contentSourceId": "2548831",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}