与之前 Chromecast 和 DAI 之间的集成不同,CAF DAI SDK 主要侧重于维持投射应用框架设定的标准和预期。因此,不要求对发送者应用进行大量自定义管理 IMA 与发送者应用之间的双向通信。这些通信现在通过集成的 CAF 广告插播功能进行管理,而无需自定义消息系统在发送者应用和接收者之间进行通信。
根据您的发件人,您可能仍需向发件人添加一些有限的代码,以便完全启用 CAF 广告插播支持(例如为网站发件人添加对可跳过广告的支持)。
除了支持 CAF 广告插播外,您现在还需要将 DAI 视频流数据添加到从发送者发送到接收方的 CAF MediaInfo 对象中。您可以选择以多种不同的方式发送此数据,例如,您可以对接收者的 contentSourceID 进行硬编码,而仅使用 MediaInfo 对象发送 videoID,或者向接收者发送任意标识符,并从中查询在线数据库以获取实际的 DAI 参数。
不过,为简单起见,我们的所有示例都将假定您遵循以下简单的 MediaInfo 对象结构和命名惯例:
contentId | 此媒体项的唯一标识符 | |
contentUrl | 在 DAI StreamRequest 因任何原因而失败时要加载的后备视频流网址 | |
streamType | 对于直播,此值应设为“LIVE”。对于 VOD 视频流,此值应设为“BUFFERED” | |
customData | assetKey | 仅限直播。标识要加载的直播 |
contentSourceId | 仅限 VOD 视频流。用于标识包含所请求数据流的媒体 Feed。 | |
videoId | 仅限 VOD 视频流。标识指定的媒体 Feed 中请求的视频流。 | |
ApiKey | 可选的 IMA 密钥,用于从 IMA DAI SDK 检索视频流网址。 | |
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": "2528370",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}