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