W ads_manager.js zdefiniuj klasę opakowującą dla pakietu IMA SDK StreamManager, która wysyła żądania strumienia, pobiera manifest grupy reklam, nasłuchuje zdarzeń strumienia IMA i przekazuje zdarzenia emsg do pakietu IMA SDK.
W ads_manager.js przykładowa aplikacja IMA HbbTV konfiguruje te metody:
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
Inicjowanie menedżera reklam
Zainicjuj klasę menedżera reklam i ustaw detektory zdarzeń strumienia IMA. W tym wywołaniu ustaw moduł obsługi zdarzeń emsg za pomocą metody VideoPlayer.setEmsgEventHandler().
Wysyłanie żądania strumienia bloku reklamowego
Utwórz metodę AdManager.requestStream(), aby utworzyć PodStreamRequestobiekt za pomocą kodu sieci Google Ad Managera i niestandardowego klucza zasobu strumienia. Przetestuj aplikację HbbTV za pomocą przykładowego strumienia DASH do wyświetlania bloków reklamowych IMA z tymi parametrami strumienia:
- Kod sieci:
'21775744923' - Niestandardowy klucz pliku:
'hbbtv-dash'
Nasłuchiwanie zdarzeń strumienia reklam
Utwórz metodę AdManager.onStreamEvent(), która będzie obsługiwać reakcję aplikacji na zdarzenia strumienia IMA: STREAM_INITIALIZED, AD_BREAK_STARTED i AD_BREAK_ENDED.
Obsługa metadanych strumienia reklam
Aby przekazać informacje o zdarzeniu emsg do IMA, utwórz metodę AdManager.onEmsgEvent() za pomocą metody StreamManager.processMetadata(). Klasa odtwarzacza wideo wywołuje tę metodę za pomocą metody VideoPlayer.setEmsgEventHandler().
Wczytaj plik manifestu bloku reklamowego
Utwórz metodę AdManager.loadAdPodManifest(), aby wstępnie wczytać manifest bloku reklamowego wideo
w odtwarzaczu wideo. Utwórz adres URL manifestu, korzystając ze struktury podanej w sekcji Metoda: DASH pod manifest.
Przykładowa aplikacja HbbTV używa losowo generowanego unikalnego identyfikatora podId. W aplikacjach produkcyjnych podId to liczba całkowita zaczynająca się od 1 i zwiększająca się o 1 w przypadku każdej przerwy na reklamę. Sprawdź, czy wartość parametru
podId jest taka sama dla wszystkich widzów bloku reklamowego. Aby uzyskać podId, zalecamy korzystanie z interfejsu Early Ad Break Notification (EABN) API. W środowisku produkcyjnym uwzględnij elementy podId i podDuration w zdarzeniu strumienia HbbTV AD_BREAK_ANNOUNCE.
Następnie utwórz główną klasę aplikacji HbbTV, która będzie wchodzić w interakcję z transmisją HbbTV.