В ads_manager.js определите класс-обертку для StreamManager из IMA SDK, который будет отправлять запросы на потоковое вещание, получать манифест рекламного пода, прослушивать события потока IMA и передавать события emg в IMA SDK.
В ads_manager.js демонстрационного приложения IMA HbbTV настроены следующие методы:
-
requestStream() -
onStreamEvent() -
onEmsgEvent() -
loadAdPodManifest()
Инициализировать менеджер рекламы
Инициализируйте класс менеджера рекламы и установите обработчики событий для потока IMA. В этом вызове установите обработчик события emsg с помощью метода VideoPlayer.setEmsgEventHandler() .
Запросите трансляцию рекламного блока.
Создайте метод AdManager.requestStream() для создания объекта PodStreamRequest , используя код вашей рекламной сети Google Ad Manager и пользовательский ключ ресурса потока. Протестируйте ваше приложение HbbTV, используя пример потока DASH pod serving из IMA со следующими параметрами потока:
- Сетевой код :
'21775744923' - Ключ пользовательского ресурса :
'hbbtv-dash'
Слушайте рекламные трансляции событий
Создайте метод AdManager.onStreamEvent() для обработки ответа вашего приложения на события потока IMA: STREAM_INITIALIZED , AD_BREAK_STARTED и AD_BREAK_ENDED .
Обработка метаданных рекламного потока
Для передачи информации о событии emsg в IMA создайте метод AdManager.onEmsgEvent() , используя метод StreamManager.processMetadata() . Класс видеоплеера вызывает этот метод с помощью метода VideoPlayer.setEmsgEventHandler() .
Загрузите манифест рекламного пода.
Создайте метод AdManager.loadAdPodManifest() для предварительной загрузки манифеста рекламного блока вместе с видеоплеером. Сформируйте URL манифеста, используя структуру, описанную в методе: Манифест рекламного блока DASH .
В демонстрационном приложении HbbTV используется случайно сгенерированный уникальный podId . В рабочих приложениях podId представляет собой целое число, которое начинается с единицы и увеличивается на единицу для каждой рекламной паузы. Убедитесь, что значение podId одинаково для всех зрителей рекламной паузы. Для получения podId рекомендуется использовать API ранних уведомлений о рекламных паузах (EABN). В рабочей среде укажите podId и podDuration в событии потока HbbTV AD_BREAK_ANNOUNCE .
Далее создайте основной класс приложения для вашего приложения HbbTV, который будет взаимодействовать с трансляцией HbbTV.