Không giống như các lần tích hợp trước đây giữa Chromecast và DAI, CAF DAI SDK tập trung nhiều vào việc duy trì các tiêu chuẩn và kỳ vọng do Cast Application Framework (Khung ứng dụng truyền) đặt ra. Do đó, bạn không cần phải tuỳ chỉnh nhiều ứng dụng người gửi để quản lý thông tin liên lạc hai chiều giữa IMA và ứng dụng người gửi. Giờ đây, những thông tin liên lạc này được quản lý thông qua chức năng CAF Ad Breaks (Khoảng thời gian quảng cáo CAF) tích hợp, thay vì yêu cầu các hệ thống thông báo tuỳ chỉnh để trao đổi thông tin giữa ứng dụng người gửi và ứng dụng 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ã hạn chế vào người gửi để bật hoàn toàn tính năng hỗ trợ CAF Ad Breaks, 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 trên web.
Ngoài việc hỗ trợ CAF Ad Breaks, bạn chỉ cần thêm 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, chẳng hạn như bạn có thể mã hoá cứng contentSourceID trên bộ nhận và chỉ gửi videoID bằng đối tượng MediaInfo, hoặc bạn có thể gửi một giá trị nhận dạng tuỳ ý đến bộ nhận và từ đó truy vấn một cơ sở dữ liệu trực tuyến để biết các thông số DAI thực tế.
Tuy nhiên, để đơn giản, tất cả các mẫu của chúng tôi sẽ giả định rằng bạn tuân theo cấu trúc và quy ước đặt tên đơn giản này cho các đối tượng MediaInfo:
contentId | Giá trị nhận dạng duy nhất của mục nội dung nghe nhìn này | |
contentUrl | URL của luồng dự phòng để tải nếu DAI StreamRequest không thành công vì bất kỳ lý do nào | |
streamType | Đối với luồng phát trực tiếp, bạn nên đặt giá trị này thành "LIVE". Đối với luồng VOD, bạn nên đặt giá trị này thành "BUFFERED" | |
customData | assetKey | Chỉ sự kiện phát trực tiếp. Xác định sự kiện phát trực tiếp cần tải |
contentSourceId | Chỉ luồng VOD. Xác định nguồn cấp dữ liệu đa phương tiện chứa luồng được yêu cầu. | |
videoId | Chỉ 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. | |
ApiKey | Khoá API không bắt buộc có thể cần thiết để truy xuất URL luồng phát từ IMA DAI SDK. | |
senderCanSkip | Giá trị boolean để cho receiver biết liệu 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"
}
Ví dụ về luồng 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"
}