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 odbiorniki zdarzeń strumienia IMA. W tym wywołaniu ustaw moduł obsługi zdarzenia emsg za pomocą metody VideoPlayer.setEmsgEventHandler().
Wysyłanie żądania strumienia bloku reklamowego
Utwórz metodę AdManager.requestStream(), aby utworzyć obiekt PodStreamRequest
za pomocą kodu sieci Google Ad Managera i niestandardowego klucza komponentu strumienia. Przetestuj aplikację HbbTV za pomocą przykładowego strumienia DASH z usługą wstawiania zasobników 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 w odtwarzaczu wideo. Utwórz uwierzytelniony adres URL manifestu, korzystając ze struktury opisanej w sekcji Metoda: DASH pod manifest.
Przykładowa aplikacja HbbTV używa losowo generowanej unikalnej wartości adBreakId. W aplikacjach produkcyjnych wartość adBreakId to ciąg alfanumeryczny, np. ab-001, który zwiększa się o 1 w przypadku każdej przerwy na reklamę. Sprawdź, czy wartość adBreakId jest taka sama dla wszystkich widzów przerwy na reklamę. Aby uzyskać wartość adBreakId, zalecamy korzystanie z interfejsu DAI Ad Break API.
W środowisku produkcyjnym uwzględnij wartość adBreakId 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.