В 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.