В application.js создайте основной класс для вашего приложения HbbTV, взаимодействующего с трансляцией HbbTV. Этот класс взаимодействует с broadcastAppManager и broadcastContainer . Пример аналогичного класса см. в разделе Обработка объекта трансляции аудио/видео .
Измените это базовое приложение HbbTV для запроса потока IMA и реагирования на события рекламной паузы.
Инициализируйте приложение
Инициализируйте класс приложения в application.js , настройте broadcastAppManager и broadcastContainer , следуя руководству «Обработка объекта трансляции аудио/видео» . После этого инициализируйте новые объекты VideoPlayer и AdManager .
Сделайте запрос на трансляцию IMA
В методе HbbTVApp.onPlayStateChangeEvent() выполните запрос потока в ответ на переключение приложения в состояние PRESENTING_PLAYSTATE . Такой подход подготавливает приложение к загрузке манифеста рекламного модуля в ответ на событие AD_BREAK_EVENT_ANNOUNCE .
Если ваше устройство некорректно передает событие PlayStateChange контейнера вещания, используйте функцию setInterval() для проверки изменений состояния воспроизведения:
setInterval(function() {
if (!subscribedToStreamEvents &&
this.broadcastContainer.playState == PRESENTING_PLAYSTATE) {
subscribedToStreamEvents = true;
this.broadcastContainer.addStreamEventListener(
STREAM_EVENT_URL, 'eventItem', function(event) {
this.onStreamEvent(event);
}.bind(this));
debugView.log('Subscribing to stream events');
this.adManager.requestStream(NETWORK_CODE, CUSTOM_ASSET_KEY);
}
…
Слушайте трансляции HbbTV
Создайте метод HbbTVApp.onStreamEvent() для прослушивания событий рекламной паузы adBreakAnnounce , adBreakStart и adBreakEnd :
Обработка событий потоковой передачи HbbTV
Для обработки событий потока HbbTV выполните следующие действия:
Чтобы загрузить манифест рекламного модуля в ответ на событие
adBreakAnnounce, создайте методHbbTVApp.onAdBreakAnnounce():Чтобы переключиться на воспроизведение рекламного потока во время рекламных пауз, создайте метод
HbbTVApp.onAdBreakStart():Чтобы вернуться к трансляции контента, создайте метод
HbbTVApp.onAdBreakEnd():
Теперь вы запрашиваете и отображаете рекламные модули IMA SDK в своём приложении HbbTV. Чтобы сравнить своё приложение с готовым примером, см. пример IMA HbbTV на GitHub .