В файле application.js создайте основной класс для приложения HbbTV, которое взаимодействует с трансляцией HbbTV. Этот класс взаимодействует с broadcastAppManager и broadcastContainer. Пример аналогичного класса приведен в разделе Обработка объекта трансляции аудио и видео.
Измените это базовое приложение HbbTV, чтобы запрашивать поток IMA и реагировать на события рекламных пауз.
Инициализируйте приложение
Инициализируйте класс приложения в application.js, настройте broadcastAppManager и broadcastContainer, следуя инструкциям в руководстве Работа с объектом broadcast a/v.
Затем инициализируйте новые объекты 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.