Không giống như các công cụ tích hợp trước đây giữa Chromecast và DAI, SDK DAI của CAF tập trung chủ yếu vào việc duy trì các tiêu chuẩn và kỳ vọng do Khung ứng dụng của Cast (Cast Application Framework) đặt ra. Do đó, không có yêu cầu đối với việc tuỳ chỉnh ở mức độ cao các ứng dụng dành cho người gửi nhằm quản lý hoạt động giao tiếp hai chiều giữa IMA và ứng dụng dành cho người gửi. Giờ đây, các hoạt động liên lạc này được quản lý thông qua chức năng tích hợp Điểm chèn quảng cáo CAF, thay vì yêu cầu hệ thống thông báo tuỳ chỉnh giao tiếp giữa ứng dụng của người gửi và người nhận.
Tuỳ thuộc vào người gửi, bạn có thể vẫn cần thêm một số mã giới hạn cho người gửi để bật đầy đủ tính năng hỗ trợ Điểm chèn quảng cáo của 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 trên web.
Hiện tại, ngoài việc hỗ trợ Điểm chèn quảng cáo CAF, tất cả những gì cần thiết là đư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 bộ thu và chỉ gửi videoID với đối tượng MediaInfo hoặc bạn có thể gửi giá trị nhận dạng tuỳ ý đến bộ thu và từ đó truy vấn cơ sở dữ liệu trực tuyến để có các tham số DAI thực tế.
Tuy nhiên, để đơn giản hoá, 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 của mình:
contentId | Giá trị nhận dạng duy nhất của mục nội dung đa phương tiện này | |
contentUrl | Url luồng dự phòng để tải nếu DAI StreamRequest 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ỉ áp dụng cho sự kiện phát trực tiếp. Xác định sự kiện phát trực tiếp sẽ được 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 nội dung nghe nhìn đã chỉ định. | |
ApiKey | Bạn có thể cần một khóa API tùy chọn để truy xuất url luồng từ SDK IMA DAI. | |
senderCanSkip | Giá trị boolean cho người nhận biết liệu thiết bị gửi có thể 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ề sự kiện phát trực tiếp 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"
}