В отличие от предыдущих интеграций Chromecast и DAI, CAF DAI SDK в значительной степени ориентирован на поддержание стандартов и ожиданий, установленных Cast Application Framework . Таким образом, нет необходимости тщательно настраивать приложения-отправители для управления двунаправленной связью между IMA и приложением-отправителем. Эти коммуникации теперь управляются с помощью интегрированной функции CAF Ad Breaks , вместо того, чтобы требовать от специальных систем сообщений связи между приложением отправителя и получателем.
В зависимости от вашего отправителя вам все равно может потребоваться добавить в отправители некоторый ограниченный код, чтобы полностью включить поддержку рекламных пауз CAF, например добавить поддержку пропускаемой рекламы для веб-отправителей .
Все, что теперь требуется, помимо поддержки рекламных пауз CAF, — это включить данные потока DAI в объект CAF MediaInfo , который отправляется от отправителя получателю. Вы можете отправлять эти данные разными способами, например, вы можете жестко запрограммировать contentSourceID на своем приемнике и отправлять только videoID с объектом MediaInfo, или вы можете отправить получателю произвольный идентификатор и оттуда запросить онлайн-информацию. база данных фактических параметров DAI.
Однако для простоты во всех наших примерах предполагается, что вы следуете этой простой структуре и соглашению об именах для ваших объектов MediaInfo:
идентификатор контента | Уникальный идентификатор этого медиа-элемента. | |
URL-адрес контента | URL-адрес резервного потока для загрузки в случае сбоя DAI StreamRequest по какой-либо причине. | |
тип потока | Для прямых трансляций это значение должно быть установлено на «LIVE». Для потоков VOD это значение должно быть установлено на «BUFFERED». | |
пользовательские данные | ключ актива | Только прямые трансляции. Определяет прямой поток для загрузки |
контентсаурцеид | Только VOD-трансляции. Идентифицирует медиаканал, содержащий запрошенный поток. | |
идентификатор видео | Только VOD-трансляции. Идентифицирует запрошенный поток в указанном медиаканале. | |
APIКей | Необязательный ключ 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": "2548831",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}