Начало работы с IMA SDK на HbbTV

IMA DAI SDK поддерживает интеграцию с минимальным приложением видеоплеера HbbTV. IMA DAI SDK позволяет Google Ad Manager запрашивать широкополосный рекламный поток, сопровождающий поток широковещательного контента. В этом руководстве описывается загрузка манифеста объявления на основе данных о рекламных событиях из широковещательного потока.

Чтобы просмотреть или проследить за завершенным примером интеграции, загрузите образец приложения HbbTV Linear Sample с IMA HTML5 DAI SDK . Для поддержки старых телевизионных устройств это руководство и пример приложения GitHub написаны на JavaScript ES5.

Информацию об интеграции с другими платформами, отличными от HbbTV, см. в разделе SDK интерактивной медиарекламы .

Предварительные условия

Прежде чем продолжить работу с этим руководством, убедитесь, что у вас есть следующее:

  • Чтобы использовать IMA DAI, у вас должен быть аккаунт Менеджера рекламы 360 Advanced . Если у вас есть учетная запись Менеджера рекламы, обратитесь к менеджеру своего аккаунта за более подробной информацией. Информацию о регистрации в Менеджере рекламы можно найти в Справочном центре Менеджера рекламы .
  • Приложение HbbTV, взаимодействующее с объектом вещания для воспроизведения мультимедиа. Дополнительные сведения см. в разделе AV-объект HbbTV Broadcast .
  • Версия Dash.js, поддерживающая предварительную загрузку. Мы рекомендуем использовать версию 4.6.0 или новее.
  • Веб-сервер для размещения приложения.
  • Тестовая среда с вещательным потоком DVB. Подробные инструкции по настройке среды тестирования см. в разделе «Запуск приложения HbbTV» .
    • Широковещательный поток : подготовьте широковещательный поток, содержащий пользовательские данные таблицы информации о приложении (AIT). Вам также потребуется способ передачи транслируемого потока для приема телевизором. Для передачи широковещательного потока можно использовать модулятор DVB или другие методы.
    • Веб-сервер : разместите приложение HbbTV на веб-сервере, доступном для телевизора.
  • Событие прямой трансляции с типом манифеста обслуживания модуля . Чтобы создать событие, см. раздел «Настройка прямой трансляции для DAI» .

Создайте совместимый широковещательный поток

Ваше приложение 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, вам понадобится модуль, обслуживающий прямую трансляцию. Информацию о настройке мероприятия см. в разделе Настройка прямой трансляции для DAI . Чтобы получить доступ к настроенному вами потоку, приложение должно иметь следующие переменные:

  • NETWORK_CODE : код сети Менеджера рекламы для запроса объявлений.
  • CUSTOM_ASSET_KEY : специальный ключ ресурса Менеджера рекламы, созданный в процессе настройки прямой трансляции для DAI.

Создайте файловую структуру приложения.

В этом руководстве используется файловая структура, аналогичная образцу приложения 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 : объект, который обрабатывает потоки динамической вставки рекламы и взаимодействие с серверной частью DAI. Менеджер потоков также обрабатывает отслеживание пингов и пересылает события потока и рекламы издателю.

Подробные инструкции по настройке среды тестирования см. в этом руководстве по запуску приложения HbbTV .

Загрузите IMA DAI SDK и DASH.js.

Чтобы начать воспроизведение потока широковещательной рекламы, загрузите IMA DAI SDK и Dash.js в свое приложение. Перед тегом application.js добавьте Dash.js и платформу IMA, используя теги скрипта в index.html .

<script src="https://cdn.jsdelivr.net/npm/dashjs@latest/dist/dash.all.min.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>

Затем создайте класс-оболочку видеоплеера для запуска и управления проигрывателем Dash.js.