В ads_manager.js определите класс-оболочку для IMA SDK StreamManager, который выполняет потоковые запросы, получает манифест рекламного модуля, прослушивает события потока IMA и передает события emsg в IMA SDK.
В ads_manager.js пример приложения IMA HbbTV настраивает следующие методы:
-
requestStream() -
onStreamEvent() -
onEmsgEvent() -
loadAdPodManifest()
Инициализировать менеджер объявлений
Инициализируйте класс менеджера рекламы и настройте прослушиватели событий потока IMA. В этом вызове установите обработчик событий emsg с помощью метода VideoPlayer.setEmsgEventHandler() .
Подать заявку на трансляцию рекламного модуля
Создайте метод AdManager.requestStream() для создания объекта PodStreamRequest , используя код сети Google Ad Manager и ключ настраиваемого ресурса потока. Протестируйте приложение HbbTV, используя пример потока IMA DASH для обслуживания Pod со следующими параметрами потока:
- Код сети :
'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.