Pakiety IMA SDK ułatwiają integrację reklam multimedialnych z witrynami i aplikacjami. Pakiety IMA SDK mogą żądać reklam z dowolnego serwera reklam zgodnego z VAST i zarządzać odtwarzaniem reklam w aplikacjach. Dzięki pakietom IMA SDK po stronie klienta zachowujesz kontrolę nad odtwarzaniem treści wideo, a pakiet SDK obsługuje odtwarzanie reklam. Reklamy są wyświetlane w oddzielnym odtwarzaczu wideo umieszczonym nad odtwarzaczem treści aplikacji.
Ten przewodnik pokazuje, jak zintegrować pakiet IMA SDK z prostą aplikacją odtwarzacza wideo. Jeśli chcesz zobaczyć lub prześledzić przykładową integrację, pobierz prosty przykład z GitHub. Jeśli interesuje Cię odtwarzacz HTML5 z wstępnie zintegrowanym pakietem SDK, zapoznaj się z wtyczką IMA SDK dla Video.js.
Omówienie IMA po stronie klienta
Wdrożenie IMA po stronie klienta obejmuje 4 główne komponenty pakietu SDK, które są opisane w tym przewodniku:
AdDisplayContainer
: obiekt kontenera określający, gdzie IMA renderuje elementy interfejsu reklamy i mierzy widoczność, w tym Widok aktywny i Open Measurement.AdsLoader
: obiekt, który wysyła żądania reklam i przetwarza zdarzenia z odpowiedzi na żądania reklam. Powinieneś utworzyć tylko 1 ładowarkę reklam, którą można używać wielokrotnie przez cały czas działania aplikacji.AdsRequest
: obiekt definiujący żądanie reklamy. Żądania reklamy określają adres URL tagu reklamy VAST oraz dodatkowe parametry, takie jak wymiary reklamy.AdsManager
: obiekt zawierający odpowiedź na żądanie reklamy, który kontroluje odtwarzanie reklam i odbiera zdarzenia reklam generowane przez pakiet SDK.
Wymagania wstępne
Zanim zaczniesz, musisz mieć:
- 3 puste pliki:
- index.html
- style.css
- ads.js
- Python zainstalowany na komputerze lub serwer WWW do testowania
1. Uruchamianie serwera programistycznego
Pakiet IMA SDK wczytuje zależności za pomocą tego samego protokołu co strona, z której jest wczytywany, więc do testowania aplikacji musisz użyć serwera WWW. Najprostszym sposobem uruchomienia lokalnego serwera do programowania jest użycie wbudowanego serwera Pythona.
- W katalogu zawierającym plik index.html uruchom w wierszu poleceń:
python -m http.server 8000
- W przeglądarce otwórz stronę
http://localhost:8000/
Możesz też użyć dowolnego innego serwera WWW, np. serwera HTTP Apache.
2. Tworzenie prostego odtwarzacza wideo
Najpierw zmodyfikuj plik index.html, aby utworzyć prosty element wideo w formacie HTML5, ujęty w element opakowujący, oraz przycisk uruchamiający odtwarzanie. W tym przykładzie importujemy pakiet IMA SDK i konfigurujemy element kontenera AdDisplayContainer
. Więcej informacji znajdziesz w odpowiednich krokach:
Importowanie pakietu IMA SDK
i
Tworzenie kontenera reklamowego
.
Dodaj tagi niezbędne do wczytania plików style.css i ads.js. Następnie zmodyfikuj plik styles.css, aby odtwarzacz wideo był responsywny na urządzeniach mobilnych. Na koniec w pliku ads.js zadeklaruj zmienne i uaktywnij odtwarzanie filmu po kliknięciu przycisku odtwarzania.
Pamiętaj, że fragment kodu ads.js zawiera wywołanie funkcji setUpIMA()
, która jest zdefiniowana w sekcji
Inicjowanie funkcji AdsLoader i wysyłanie żądania reklam
.
3. Importowanie pakietu IMA SDK
Następnie dodaj platformę IMA, używając tagu skryptu w pliku index.html przed tagiem ads.js
.
4. Tworzenie kontenera reklamy
W większości przeglądarek pakiet IMA SDK używa dedykowanego elementu kontenera reklamy do wyświetlania reklam i elementów interfejsu użytkownika związanych z reklamami. Rozmiar kontenera musi umożliwiać nakładanie elementu filmu na lewy górny róg. Wysokość i szerokość reklam umieszczonych w tym kontenerze są ustawiane przez obiekt adsManager
, więc nie musisz ich ustawiać ręcznie.
Aby zaimplementować ten element kontenera reklamy, utwórz najpierw nowy element div
w elemencie video-container
. Następnie zaktualizuj plik CSS, aby ustawić element w lewym górnym rogu video-element
. Na koniec dodaj funkcję createAdDisplayContainer()
, aby utworzyć obiekt AdDisplayContainer
za pomocą nowego kontenera reklamy div
.
5. Inicjalizacja AdsLoadera i wysłanie żądania reklamy
Aby żądać reklam, utwórz instancję AdsLoader
. Konstruktor AdsLoader
otrzymuje jako argument obiekt AdDisplayContainer
i może służyć do przetwarzania obiektów AdsRequest
powiązanych z określonym adresem URL tagu reklamy. Tag reklamy użyty w tym przykładzie zawiera 10-sekundową reklamę przed filmem. Możesz przetestować ten lub dowolny inny adres URL tagu reklamy za pomocą inspektora pakietu IMA Video.
Zgodnie ze sprawdzoną metodą przez cały cykl życia strony należy utrzymywać tylko 1 wystąpienie AdsLoader
. Aby wysyłać dodatkowe żądania reklam, utwórz nowy obiekt AdsRequest
, ale używaj tego samego obiektu AdsLoader
. Więcej informacji znajdziesz w odpowiedziach na najczęstsze pytania dotyczące pakietu IMA SDK.
Za pomocą AdsLoader.addEventListener
możesz nasłuchiwać zdarzeń wczytywania reklam i błędów oraz na nie odpowiadać.
Nasłuchuj te zdarzenia:
ADS_MANAGER_LOADED
AD_ERROR
Aby utworzyć odbiorniki onAdsManagerLoaded()
i onAdError()
, zapoznaj się z tym przykładem:
6. Odpowiadanie na zdarzenia AdsLoader
Gdy AdsLoader
wczyta reklamy, wyemituje zdarzenie
ADS_MANAGER_LOADED
. Przeanalizuj zdarzenie przekazane do wywołania zwrotnego, aby zainicjować obiekt AdsManager
. AdsManager
wczytuje poszczególne reklamy zgodnie z definicją w odpowiedzi na adres URL tagu reklamy.
Zadbaj o to, aby wszystkie błędy występujące podczas wczytywania były obsługiwane. Jeśli reklamy się nie wczytują, upewnij się, że odtwarzanie multimediów będzie kontynuowane bez reklam, aby nie zakłócać użytkownikowi oglądania treści.
Więcej informacji o odbiornikach skonfigurowanych w funkcji onAdsManagerLoaded()
znajdziesz w tych sekcjach:
Obsługa błędów AdsManager
Obsługa błędów utworzona dla AdsLoader
może też służyć jako obsługa błędów dla AdsManager
. Zobacz, jak w obsługniku zdarzeń jest ponownie używana funkcja onAdError()
.
Obsługa zdarzeń odtwarzania i wstrzymywania
Gdy AdsManager
jest gotowy do wstawienia reklamy do wyświetlenia, uruchamia zdarzenie CONTENT_PAUSE_REQUESTED
. Obsługuj to zdarzenie, wywołując wstrzymanie odtwarzania w odtwarzaczu. Podobnie, gdy reklama się zakończy, komponent AdsManager
uruchomi zdarzenie CONTENT_RESUME_REQUESTED
. Obsługuj to zdarzenie, ponownie uruchamiając odtwarzanie filmu z treściami.
Definicje funkcji onContentPauseRequested()
i onContentResumeRequested()
znajdziesz w tym przykładzie:
Obsługa odtwarzania treści podczas reklam nieliniowych
AdsManager
wstrzymuje odtwarzanie filmu, gdy reklama jest gotowa do wyświetlenia, ale to zachowanie nie dotyczy reklam nieliniowych, w których treści są nadal odtwarzane podczas wyświetlania reklamy.
Aby obsługiwać reklamy nieliniowe, nasłuchuj zdarzenie AdsManager
, aby emitować zdarzenie LOADED
. Sprawdź, czy reklama jest linearna, a jeśli nie, wznów odtwarzanie elementu wideo.
Definicję funkcji onAdLoaded()
znajdziesz w poniższym przykładzie.
7. Włączanie funkcji kliknięcia w celu wstrzymania na urządzeniach mobilnych
Ponieważ element AdContainer
nakłada się na element wideo, użytkownicy nie mogą wchodzić w bezpośrednią interakcję z odtwarzaczem. Może to wprowadzać w błąd użytkowników urządzeń mobilnych, którzy oczekują, że kliknięcie odtwarzacza filmu spowoduje wstrzymanie odtwarzania. Aby rozwiązać ten problem, pakiet IMA SDK przekazuje wszystkie kliknięcia, które nie są obsługiwane przez IMA, z nakładki reklamy do elementu AdContainer
, gdzie można je obsłużyć. Nie dotyczy to reklam liniowych w przeglądarkach innych niż mobilne, ponieważ kliknięcie reklamy powoduje otwarcie linku prowadzącego do reklamy.
Aby wdrożyć funkcję kliknięcia w celu wstrzymania, dodaj funkcję obsługi kliknięć adContainerClick()
wywoływaną w detektorze wczytania okna.
8. Uruchom program AdsManager.
Aby rozpocząć odtwarzanie reklamy, uruchom i rozpocznij AdsManager
. Aby w pełni obsługiwać przeglądarki mobilne, w których nie można automatycznie odtwarzać reklam, uruchamiaj odtwarzanie reklam po interakcji użytkownika ze stroną, np. po kliknięciu przycisku odtwarzania.
9. Obsługa zmiany rozmiaru odtwarzacza
Aby reklamy dynamicznie dostosowywały swój rozmiar do rozmiaru odtwarzacza wideo lub do zmian orientacji ekranu, wywołuj funkcję adsManager.resize()
w odpowiedzi na zdarzenia zmiany rozmiaru okna.
Znakomicie. Reklamy są teraz żądane i wyświetlane za pomocą pakietu IMA SDK. Więcej informacji o zaawansowanych funkcjach pakietu SDK znajdziesz w innych przewodnikach lub w przykładach na GitHubie.