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