為 CAF DAI SDK 編寫傳送端應用程式

與先前 Chromecast 和 DAI 的整合不同,CAF DAI SDK 的重點在於維持 Cast 應用程式架構設定的標準和期望。因此,您不必大幅自訂傳送端應用程式,即可管理 IMA 和傳送端應用程式之間的雙向通訊。這些通訊現在會透過整合的 CAF 廣告插播功能管理,不必使用自訂訊息系統在傳送端應用程式和接收端之間通訊。

視傳送者而定,您可能仍需在傳送者中加入部分程式碼,才能完全啟用 CAF 廣告插播支援功能,例如在網頁傳送者中加入可略過廣告的支援功能

除了支援 CAF 廣告插播外,現在只要在從傳送端傳送至接收端的 CAF MediaInfo 物件中加入 DAI 串流資料,您可以選擇以多種方式傳送這項資料,例如在接收器上硬式編碼 contentSourceID,並只透過 MediaInfo 物件傳送 videoID,或是將任意 ID 傳送至接收器,然後從接收器查詢線上資料庫,取得實際的 DAI 參數。

不過,為求簡單起見,所有範例都會假設您遵循 MediaInfo 物件的簡單結構和命名慣例:

contentId 這個媒體項目的專屬 ID
contentUrl 如果 DAI StreamRequest 因任何原因失敗,系統會載入備用串流網址
streamType 直播活動的值應設為「LIVE」。如果是 VOD 串流,這個值應設為「BUFFERED」
customData assetKey 僅限直播。要載入的直播 ID
contentSourceId 僅限 VOD 串流。識別包含所要求串流的媒體動態饋給。
videoId 僅限 VOD 串流。識別指定媒體動態饋給中的要求串流。
ApiKey 選用 API 金鑰,可從 IMA DAI SDK 擷取串流網址。
senderCanSkip 布林值,可讓接收端瞭解傳送裝置是否能顯示略過按鈕,進而支援可略過的廣告。

Example LIVE Stream:

{
  "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"
}

隨選影片串流範例:

{
  "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"
}