IMA DAI SDK поддерживает интеграцию с минимальным приложением видеопроигрывателя HbbTV. IMA DAI SDK позволяет использовать спрос Google Менеджера рекламы для широкополосного рекламного потока, сопровождающего поток транслируемого контента. В этом руководстве рассказывается, как загрузить манифест объявления на основе данных о событиях объявлений из трансляции.
Чтобы посмотреть или повторить готовую интеграцию, скачайте пример приложения HbbTV Linear с IMA HTML5 DAI SDK. Чтобы обеспечить поддержку старых моделей телевизоров, в этом руководстве и примере приложения на GitHub используется ES5 JavaScript.
Информацию об интеграции с другими платформами, не поддерживающими HbbTV, можно найти в статье Interactive Media Ads SDK.
Требования
Прежде чем продолжить, убедитесь, что у вас есть:
- Чтобы использовать IMA DAI, у вас должен быть аккаунт Менеджера рекламы 360 Advanced. Если у вас есть аккаунт Менеджера рекламы, обратитесь к менеджеру по работе с клиентами. Информацию о регистрации в Менеджере рекламы можно найти в Справочном центре.
- Приложение HbbTV, взаимодействующее с объектом трансляции для воспроизведения медиаконтента. Подробнее об объекте Broadcast AV в HbbTV…
- Версия dash.js, поддерживающая предварительную загрузку. Рекомендуем использовать версию 4.6.0 или более позднюю.
- Веб-сервер для размещения приложения.
- Тестовая среда с трансляцией DVB. Подробные инструкции по настройке тестовой среды можно найти в статье Запуск приложения HbbTV.
- Трансляция. Подготовьте трансляцию, содержащую данные таблицы информации о приложении (AIT). Вам также нужен способ передачи трансляции для приема телевизором. Для передачи потока можно использовать модулятор DVB или другие методы.
- Веб-сервер. Разместите приложение HbbTV на веб-сервере, доступном для телевизора.
- Трансляция с типом Показ пакета с использованием манифеста. Инструкции по созданию события приведены в статье Настройка прямой трансляции с динамической вставкой объявлений.
Создайте совместимую трансляцию
Приложение HbbTV использует broadcastContainer.addStreamEventListener() для прослушивания событий в потоке HbbTV. Чтобы объявления загружались и воспроизводились правильно, настройте трансляцию с указанными ниже типами событий, которые должны включать полезную нагрузку в виде строки JSON.
AD_BREAK_EVENT_ANNOUNCE–{"type":"adBreakAnnounce", "pod_id":1,"duration":90, "offset":10}AD_BREAK_EVENT_START–{"type":"adBreakStart"}AD_BREAK_EVENT_END–{"type":"adBreakEnd"}
Для этих событий добавьте полезную нагрузку в виде строки JSON с параметром streamEvent.type. Чтобы поддерживать предварительную загрузку объявлений, событие AD_BREAK_EVENT_ANNOUNCE должно включать streamEvent.duration и streamEvent.offset. Подробнее о том, как отслеживать события потока HbbTV…
Чтобы настроить трансляцию, ознакомьтесь с примером мультиплексированного транспортного потока MPEG.
Чтобы использовать пример потока, необходимо обновить URL таблицы информации о приложении для собственных настроек потока.
Как создать событие прямой трансляции с показом пакетов
Чтобы показывать рекламу в приложении HbbTV, вам нужно событие трансляции с показом пакетов. Информацию о настройке события можно найти в статье Настройка прямой трансляции с динамической вставкой объявлений. Чтобы получить доступ к настроенному потоку, в приложении должны быть следующие переменные:
NETWORK_CODE– код сети Менеджера рекламы, используемый для запроса объявлений.CUSTOM_ASSET_KEY– ключ объекта Менеджера рекламы, созданный при настройке трансляции для динамической вставки объявлений.
Создайте структуру файлов приложения
В этом руководстве используется структура файлов, аналогичная той, которая применяется в примере приложения IMA HbbTV. Чтобы выполнить инструкции из этого руководства, создайте следующие файлы:
index.html– индекс HTML для вашего приложения.Style.css– стили CSS для приложения.application.js– основная точка входа JS. Управляет воспроизведением и рекламными паузами.video_player.js– управляет проигрывателем dash.js, который используется для воспроизведения рекламы.ads_manager.js– управляет настройкой IMA, запросом потока и обработкой событий.
ads_manager.js настраивает IMA DAI SDK. IMA DAI SDK реализуется с помощью следующих компонентов:
PodStreamRequest– объект, определяющий запрос потока к рекламным серверам Google.StreamManager– объект, который обрабатывает потоки с динамической вставкой объявлений и взаимодействует с серверной частью динамической вставки объявлений. Менеджер потоков также обрабатывает запросы на отслеживание и пересылает издателю события потока и объявлений.
Подробные инструкции по настройке тестовой среды вы найдете в руководстве по запуску приложения HbbTV.
Загрузка IMA DAI SDK и DASH.js
Чтобы начать воспроизведение рекламного потока, загрузите IMA DAI SDK и dash.js в приложение. Перед тегом application.js добавьте dash.js и фреймворк IMA, используя теги script в index.html.
Затем создайте класс-оболочку видеопроигрывателя, чтобы инициализировать проигрыватель dash.js и управлять им.