CAF DAI SDK 向けの送信者アプリの作成

以前の Chromecast と DAI の統合とは異なり、CAF DAI SDK では、キャスト アプリケーション フレームワークによって設定された標準と期待事項の維持に重点が置かれています。そのため、IMA と送信者アプリ間の双方向通信を管理するために送信者アプリを詳細にカスタマイズする必要はありません。これらの通信は CAF 広告ブレーク統合機能を介して管理されるため、送信側アプリと受信側との間でカスタム メッセージ システムが通信を行う必要はありません。

CAF 広告ブレークのサポートを完全に有効にするには、送信者によっては一部のコードが必要になる場合があります(ウェブ送信者へのスキップ可能な広告のサポートの追加など)。

今必要なのは、送信元から受信者に送信される CAF MediaInfo オブジェクトに、DAI ストリーム データを含めることだけです。CAF 広告ブレークのサポートは除きます。さまざまな方法でデータを送信することもできます。たとえば、レシーバーに contentSourceID をハードコードして MediaInfo オブジェクトのみで動画 ID を送信する場合や、レシーバーに任意の ID を送信して、実際の 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": "2528370",
      "videoId": "tears-of-steel",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}