Viết ứng dụng người gửi cho SDK CAF DAI

Không giống như các tích hợp trước đây giữa Chromecast và DAI, SDK CAF DAI tập trung nhiều vào việc duy trì các tiêu chuẩn và kỳ vọng do Khung ứng dụng truyền đặt ra. Do đó, bạn không cần phải tùy chỉnh nhiều ứng dụng của người gửi để quản lý thông tin hai chiều giữa IMA và ứng dụng của người gửi. Các thông báo này hiện được quản lý thông qua chức năng Ngắt quảng cáo CAF tích hợp, thay vì yêu cầu hệ thống thông báo tùy chỉnh để giao tiếp giữa ứng dụng và người nhận.

Tuỳ thuộc vào người gửi, bạn vẫn có thể cần thêm một số mã giới hạn cho người gửi để bật hoàn toàn chức năng hỗ trợ Ngắt quảng cáo CAF, chẳng hạn như thêm tính năng hỗ trợ quảng cáo có thể bỏ qua cho người gửi web.

Hiện tại, ngoài việc hỗ trợ Ngắt quảng cáo CAF, hiện tại đều yêu cầu đưa dữ liệu luồng DAI vào đối tượng CAF MediaInfo được gửi từ người gửi đến người nhận. Bạn có thể chọn gửi dữ liệu này theo nhiều cách. Ví dụ: bạn có thể mã hoá cứng ContentSourceID trên thiết bị nhận và chỉ gửi videoID bằng đối tượng MediaInfo, hoặc bạn có thể gửi một mã nhận dạng tuỳ ý đến thiết bị nhận và từ đó, truy vấn cơ sở dữ liệu trực tuyến cho các thông số DAI thực tế.

Tuy nhiên, để đơn giản, tất cả mẫu của chúng tôi sẽ giả định rằng bạn tuân theo cấu trúc đơn giản này và quy ước đặt tên cho các đối tượng MediaInfo của bạn:

mã nội dung Giá trị nhận dạng duy nhất của mục nội dung đa phương tiện này
Url nội dung Url luồng dự phòng cần tải nếu DAIStreamRequest không thành công vì bất kỳ lý do gì
streamType Đối với sự kiện phát trực tiếp, bạn nên đặt giá trị này thành "TRỰC TIẾP". Đối với luồng VOD, bạn phải đặt giá trị này thành 'BUFFERED'
customData assetKey Chỉ phát trực tiếp. Xác định sự kiện phát trực tiếp sẽ tải
ContentSourceId Chỉ dành cho luồng VOD. Xác định nguồn cấp dữ liệu đa phương tiện có chứa luồng được yêu cầu.
Mã video Chỉ dành cho luồng VOD. Xác định luồng được yêu cầu trong nguồn cấp dữ liệu đa phương tiện đã chỉ định.
Khóa Api Bạn có thể cần có một khóa API không bắt buộc để truy xuất URL luồng từ SDK DAI DAI cho IMA.
SenderCanSkip Giá trị boolean cho người nhận biết thiết bị gửi có khả năng hiển thị nút bỏ qua hay không, cho phép hỗ trợ quảng cáo có thể bỏ qua

Ví dụ về sự kiện phát trực tiếp:

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

Luồng VOD mẫu:

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