Chromecast と DAI の以前の統合とは異なり、CAF DAI SDK は Cast Application Framework によって設定された標準と期待値を維持することに重点を置いています。そのため、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"
}