Z tego przewodnika dowiesz się, jak zintegrować pakiet IMA DAI SDK z aplikacją odtwarzacza wideo. Jeśli chcesz zobaczyć lub prześledzić gotową przykładową integrację, pobierz prosty przykład z GitHub.
Omówienie IMA DAI
Wdrażanie pakietu IMA DAI SDK obejmuje 2 główne komponenty, które opisujemy w tym przewodniku:
StreamRequest–VODStreamRequestlubLiveStreamRequest: obiekt, który definiuje żądanie strumienia. Żądania strumieni mogą dotyczyć filmów na żądanie lub transmisji na żywo. Żądania transmisji na żywo określają klucz zasobu, a żądania VOD – identyfikator CMS i identyfikator filmu. Oba typy żądań mogą opcjonalnie zawierać klucz interfejsu API potrzebny do uzyskania dostępu do określonych strumieni oraz kod sieci Google Ad Managera, który umożliwia pakietowi IMA SDK obsługę identyfikatorów reklam zgodnie z ustawieniami Google Ad Managera.StreamManager: obiekt, który obsługuje strumienie dynamicznego wstawiania reklam i interakcje z backendem DAI. Menedżer strumienia obsługuje też pingi śledzące i przekazuje wydawcy zdarzenia strumienia i reklamy.
Wymagania wstępne
- 3 puste pliki
- dai.html
- dai.css
- dai.js
- Python zainstalowany na komputerze lub serwerze WWW do testowania.
Uruchamianie serwera programistycznego
Pakiet IMA DAI SDK wczytuje zależności przy użyciu tego samego protokołu co strona, z której jest wczytywany, dlatego do przetestowania aplikacji musisz użyć serwera WWW. Szybkim sposobem na uruchomienie lokalnego serwera programistycznego jest użycie wbudowanego serwera Pythona.
W wierszu poleceń w katalogu zawierającym plik
index.htmluruchom:python -m http.server 8000W przeglądarce otwórz stronę
http://localhost:8000/.Możesz też użyć dowolnego innego serwera WWW, takiego jak Apache HTTP Server.
Tworzenie odtwarzacza wideo
Najpierw zmodyfikuj plik dai.html, aby utworzyć element wideo HTML5 i element div, który będzie używany do kliknięcia. Poniższy przykład importuje pakiet IMA DAI SDK. Więcej informacji znajdziesz w artykule na temat importowania pakietu IMA DAI SDK.
Dodaj też tagi niezbędne do wczytania plików dai.css i dai.js oraz do zaimportowania odtwarzacza hls.js. Następnie zmodyfikuj dai.css, aby określić rozmiar i położenie elementów strony.
Na koniec w pliku dai.js zdefiniuj zmienne, które będą przechowywać informacje o żądaniu strumienia, funkcję initPlayer(), która będzie uruchamiana po wczytaniu strony, oraz skonfiguruj przycisk odtwarzania, aby po kliknięciu wysyłał żądanie strumienia.
Aby wznowić odtwarzanie podczas przerw na reklamę w trakcie pauzy, skonfiguruj detektory zdarzeń pause i start elementu wideo, które będą wyświetlać i ukrywać elementy sterujące odtwarzaczem.
Wczytywanie pakietu IMA DAI SDK
Następnie dodaj platformę IMA za pomocą tagu skryptu w pliku dai.html przed tagiem pliku dai.js.
Inicjowanie StreamManager
Aby wysłać żądanie zestawu reklam, utwórz obiekt ima.dai.api.StreamManager, który odpowiada za wysyłanie żądań i zarządzanie strumieniami DAI. Konstruktor pobiera element wideo i element interfejsu reklamy, aby obsługiwać kliknięcia reklam.
Wysyłanie żądania strumienia
Zdefiniuj funkcje do żądania strumieni. Ten przykład zawiera funkcje zarówno dla VOD, jak i transmisji na żywo, które tworzą instancje klasy VODStreamRequest i klasy LiveStreamRequest. Gdy masz już instancję streamRequest, wywołaj metodę streamManager.requestStream() z instancją żądania strumienia.
Obie metody żądania strumienia przyjmują opcjonalny klucz interfejsu API. Jeśli używasz chronionego strumienia, musisz utworzyć klucz uwierzytelniania DAI. Więcej informacji znajdziesz w artykule Uwierzytelnianie żądań strumienia wideo na żywo za pomocą kluczy uwierzytelniania DAI.
Żaden strumień w tym przykładzie nie jest chroniony za pomocą klucza uwierzytelniania DAI, więc parametr apiKey nie jest używany.
Analizowanie metadanych strumienia
Musisz też dodać moduł obsługi, który będzie nasłuchiwać zdarzeń związanych z metadanymi czasowymi i przekazywać je do klasy StreamManager, aby pakiet IMA mógł emitować zdarzenia reklamowe podczas przerw na reklamę:
W tym przewodniku do odtwarzania strumienia używamy odtwarzacza hls.js, ale implementacja metadanych zależy od typu odtwarzacza, którego używasz.
Obsługa zdarzeń strumienia
Zaimplementuj detektory zdarzeń dla najważniejszych zdarzeń wideo. W tym przykładzie zdarzenia LOADED, ERROR, AD_BREAK_STARTED i AD_BREAK_ENDED są obsługiwane przez wywołanie funkcji onStreamEvent(). Ta funkcja obsługuje wczytywanie strumienia, błędy strumienia i wyłączanie elementów sterujących odtwarzacza podczas odtwarzania reklamy, co jest wymagane przez pakiet IMA SDK.
Po wczytaniu strumienia odtwarzacz wczytuje i odtwarza podany adres URL za pomocą funkcji loadUrl().
To wszystko. Teraz wysyłasz żądania reklam i wyświetlasz je za pomocą pakietu IMA DAI SDK. Aby dowiedzieć się więcej o bardziej zaawansowanych funkcjach pakietu SDK, zapoznaj się z innymi przewodnikami lub przykładami na GitHubie.