W application.js
utwórz główną klasę aplikacji HbbTV, która wchodzi w interakcję z transmisją HbbTV. Ta klasa współdziała z klasami broadcastAppManager
i broadcastContainer
. Przykład podobnej klasy znajdziesz w artykule Obsługa obiektu audio-wideo transmisji.
Zmodyfikuj tę podstawową aplikację HbbTV, aby wysyłała żądania strumienia IMA i odpowiadała na zdarzenia związane z przerwami na reklamy.
Inicjowanie aplikacji
Zainicjuj klasę aplikacji w application.js
, skonfiguruj broadcastAppManager
i broadcastContainer
zgodnie z samouczkiem Obsługa obiektu transmisji audio-wideo.
Następnie zainicjuj nowe obiekty VideoPlayer
i AdManager
.
Wysyłanie żądania strumienia IMA
W metodzie HbbTVApp.onPlayStateChangeEvent()
wyślij żądanie strumienia w odpowiedzi na przełączenie aplikacji na PRESENTING_PLAYSTATE
. Dzięki temu aplikacja będzie gotowa do wczytania manifestu grupy reklam w odpowiedzi na AD_BREAK_EVENT_ANNOUNCE
zdarzenie.
Jeśli urządzenie nie emituje prawidłowo kontenera transmisji PlayStateChange
event, użyj funkcji setInterval()
, aby sprawdzić zmiany stanu odtwarzania:
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);
}
…
Nasłuchiwanie zdarzeń strumienia HbbTV
Utwórz metodę HbbTVApp.onStreamEvent()
, aby nasłuchiwać zdarzeń przerwy na reklamę adBreakAnnounce
, adBreakStart
i adBreakEnd
:
Obsługa zdarzeń strumienia HbbTV
Aby obsługiwać zdarzenia strumienia HbbTV, wykonaj te czynności:
Aby wczytać plik manifestu grupy reklam w odpowiedzi na zdarzenie
adBreakAnnounce
, utwórz metodęHbbTVApp.onAdBreakAnnounce()
:Aby przełączyć się na odtwarzanie strumienia reklam podczas przerw na reklamy, utwórz metodę
HbbTVApp.onAdBreakStart()
:Aby wrócić do transmisji treści, utwórz metodę
HbbTVApp.onAdBreakEnd()
:
W aplikacji HbbTV wysyłasz teraz żądania do pakietu IMA SDK i wyświetlasz w niej bloki reklamowe. Aby porównać swoją aplikację z gotową aplikacją przykładową, zapoznaj się z przykładem IMA HbbTV w GitHubie.