В отличие от предыдущих интеграций между Chromecast и DAI, SDK CAF DAI в значительной степени ориентирован на соблюдение стандартов и ожиданий, установленных Cast Application Framework . Таким образом, нет необходимости жестко настраивать ваши приложения-отправители для управления двунаправленной связью между IMA и приложением-отправителем. Эти сообщения теперь управляются с помощью встроенной функции CAF Ad Breaks , а не требуют пользовательских систем сообщений для связи между приложением-отправителем и получателем.
В зависимости от вашего отправителя вам все равно может потребоваться добавить некоторый ограниченный код для ваших отправителей, чтобы полностью включить поддержку рекламных пауз CAF, например добавить поддержку пропускаемых объявлений для веб-отправителей .
Все, что требуется сейчас, помимо поддержки рекламных пауз CAF, — это включить данные потока DAI в объект CAF MediaInfo , который отправляется от отправителя к получателю. Вы можете отправлять эти данные разными способами, например, вы можете жестко запрограммировать contentSourceID на своем приемнике и отправлять только videoID с объектом MediaInfo, или вы можете отправить произвольный идентификатор приемнику, а оттуда запросить онлайн база данных для фактических параметров DAI.
Однако для простоты во всех наших примерах предполагается, что вы следуете этой простой структуре и соглашению об именах для ваших объектов MediaInfo:
идентификатор содержимого | Уникальный идентификатор для этого элемента мультимедиа | |
URL-адрес контента | URL-адрес резервного потока для загрузки в случае сбоя DAI StreamRequest по какой-либо причине. | |
тип потока | Для прямых трансляций это значение должно быть установлено на «LIVE». Для потоков VOD это значение должно быть установлено на «БУФЕРИРОВАНО». | |
customData | активКлюч | Только прямые трансляции. Идентифицирует прямую трансляцию для загрузки |
ContentSourceId | Только видео по запросу. Идентифицирует канал мультимедиа, который содержит запрошенный поток. | |
видеоидентификатор | Только видео по запросу. Идентифицирует запрошенный поток в указанном канале мультимедиа. | |
АпиКей | Необязательный ключ API, который может потребоваться для получения URL-адреса потока из SDK IMA DAI. | |
отправительCanSkip | Логическое значение, указывающее получателю, есть ли на отправляющем устройстве возможность отображать кнопку пропуска, что обеспечивает поддержку объявлений с возможностью пропуска. |
Пример прямого эфира:
{
"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"
}