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

不同於之前的 Chromecast 和 DAI 整合,CAF DAI SDK 主要著重於維持 Cast 應用程式架構所設定的標準和期望。因此,您不需要對寄件者應用程式進行大量自訂,才能管理 IMA 和寄件者應用程式之間的雙向通訊。這些通訊現在會透過整合式 CAF 廣告插播功能來管理,而不需要自訂訊息系統可以在傳送者應用程式和接收器之間進行通訊。

視傳送者而定,您可能要為傳送方新增部分有限的程式碼,以完全啟用 CAF 廣告插播支援功能,例如支援向可略過的發布商傳送可略過廣告

除了支援 CAF 廣告插播以外,現在只需要在 CAF MediaInfo 物件中加入從傳送端傳送至接收器的 DAI 串流資料。您可以透過多種不同方式來傳送此資料,例如,您可以以硬式編碼的方式接收接收器的 contentSourceID,只用 MediaInfo 物件傳送 videoID,也可以傳送任意 ID 給接收器,再從網路上查詢實際的 DAI 參數。

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

contentId 此媒體項目的專屬識別碼。
contentUrl 如果 DAI StreamRequest 因任何原因失敗,要載入的備用串流網址
streamType 如果是直播,請將此值設為「LIVE」。如果是 VOD 串流,這個值應設為「BUFFERED」
customData assetKey 僅限直播影片。指定要載入的直播活動
contentSourceId 僅限 VOD 串流。用於識別內含所請求串流的媒體資訊提供。
videoId 僅限 VOD 串流。用於識別指定媒體資訊提供中的要求串流。
ApiKey 從 IMA DAI SDK 擷取串流網址的必要 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"
}