Pakiety IMA SDK ułatwiają integrację reklam multimedialnych z witrynami i aplikacjami. Pakiety IMA SDK mogą wysyłać żądania reklam do 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ą odtwarzane w osobnym odtwarzaczu wideo umieszczonym nad odtwarzaczem wideo z treściami aplikacji.
W tym przewodniku pokazujemy, jak zintegrować pakiet IMA SDK z prostą aplikacją odtwarzacza wideo. Jeśli chcesz wyświetlić gotową przykładową integrację lub z niej skorzystać, pobierz prosty przykład z GitHub. Jeśli interesuje Cię odtwarzacz HTML5 z wstępnie zintegrowanym pakietem SDK, zapoznaj się z wtyczką IMA SDK do odtwarzacza Video.js.
Omówienie IMA po stronie klienta
Wdrażanie pakietu IMA SDK po stronie klienta obejmuje 4 główne komponenty SDK, które zostały przedstawione w tym przewodniku:
AdDisplayContainer
: obiekt kontenera, który określa, 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 obsługuje zdarzenia z odpowiedzi na żądania reklam. Powinieneś utworzyć tylko jeden moduł wczytywania reklam, którego można używać przez cały okres działania aplikacji.AdsRequest
: obiekt, który definiuje żądanie reklamy. Żądania reklam określają adres URL tagu reklamy VAST, a także dodatkowe parametry, takie jak wymiary reklamy.AdsManager
: obiekt, który zawiera odpowiedź na żądanie reklamy, kontroluje odtwarzanie reklam i nasłuchuje zdarzeń reklamowych wywoływanych 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, dlatego do testowania aplikacji musisz używać serwera WWW. Najprostszym sposobem na uruchomienie lokalnego serwera deweloperskiego jest użycie wbudowanego serwera Pythona.
- W wierszu poleceń w katalogu zawierającym plik index.html uruchom:
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 HTML5 zawarty w elemencie opakowującym i przycisk uruchamiający odtwarzanie. W tym przykładzie importowany jest pakiet IMA SDK i konfigurowany jest element kontenera AdDisplayContainer
. Więcej informacji znajdziesz w krokach
Importowanie pakietu IMA SDK
i
Tworzenie kontenera reklamy
.
Dodaj niezbędne tagi, aby wczytać pliki 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 uruchom 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 obiektu AdsLoader i wysyłanie żądania reklamy
.
3. Zaimportuj pakiet IMA SDK
Następnie dodaj platformę IMA za pomocą tagu skryptu w pliku index.html przed tagiem dla elementu ads.js
.
4. Tworzenie kontenera reklamy
W większości przeglądarek pakiet IMA SDK używa specjalnego elementu kontenera reklamy do wyświetlania zarówno reklam, jak i elementów interfejsu związanych z reklamami. Ten kontener musi mieć rozmiar umożliwiający nałożenie go na element wideo od lewego górnego rogu. Wysokość i szerokość reklam umieszczanych w tym kontenerze są ustawiane przez obiekt adsManager
, więc nie musisz ręcznie określać tych wartości.
Aby wdrożyć ten element kontenera reklamy, najpierw utwórz nowy element div
w elemencie video-container
. Następnie zaktualizuj CSS, aby umieścić element w lewym górnym rogu video-element
. Na koniec dodaj funkcję createAdDisplayContainer()
, aby utworzyć obiekt AdDisplayContainer
za pomocą nowego kontenera reklamy div
.
5. Zainicjuj obiekt AdsLoader i wyślij żądanie reklamy
Aby wysyłać prośby o reklamy, utwórz instancję AdsLoader
. Konstruktor AdsLoader
przyjmuje jako dane wejściowe 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 wideo IMA.
Zgodnie ze sprawdzoną metodą przez cały cykl życia strony należy utrzymywać tylko 1 instancję AdsLoader
. Aby wysłać dodatkowe żądania reklamy, utwórz nowy obiekt AdsRequest
, ale użyj tego samego obiektu AdsLoader
. Więcej informacji znajdziesz w odpowiedziach na najczęstsze pytania dotyczące pakietu IMA SDK.
Nasłuchiwanie zdarzeń wczytania reklam i błędów oraz reagowanie na nie za pomocą AdsLoader.addEventListener
.
Nasłuchuj tych zdarzeń:
ADS_MANAGER_LOADED
AD_ERROR
Aby utworzyć odbiorniki onAdsManagerLoaded()
i onAdError()
, zapoznaj się z tym przykładem:
6. Odpowiadanie na zdarzenia AdsLoader
Gdy AdsLoader
załaduje reklamy, wyemituje zdarzenie ADS_MANAGER_LOADED
. Przeanalizuj zdarzenie przekazane do wywołania zwrotnego, aby zainicjować obiekt AdsManager
. AdsManager
wczytuje poszczególne reklamy zgodnie z odpowiedzią na adres URL tagu reklamy.
Zadbaj o obsługę błędów, które mogą wystąpić podczas wczytywania. Jeśli reklamy się nie wczytują, upewnij się, że odtwarzanie multimediów jest kontynuowane bez reklam, aby nie zakłócać oglądania treści przez użytkownika.
Więcej informacji o odbiornikach ustawionych w funkcji onAdsManagerLoaded()
znajdziesz w tych podsekcjach:
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 procedurę obsługi zdarzeń ponownie wykorzystującą funkcję onAdError()
.
Obsługa zdarzeń odtwarzania i wstrzymywania
Gdy AdsManager
jest gotowy do wstawienia reklamy do wyświetlenia, uruchamia zdarzenie CONTENT_PAUSE_REQUESTED
. Obsłuż to zdarzenie, wywołując wstrzymanie odtwarzania w odtwarzaczu wideo. Podobnie po zakończeniu wyświetlania reklamy komponent AdsManager
uruchamia zdarzenie CONTENT_RESUME_REQUESTED
. Obsłuż to zdarzenie, ponownie uruchamiając odtwarzanie podstawowego filmu z treścią.
Definicje funkcji onContentPauseRequested()
i onContentResumeRequested()
znajdziesz w tym przykładzie:
Obsługa odtwarzania treści podczas wyświetlania reklam nielinearnych
AdsManager
wstrzymuje odtwarzanie filmu, gdy reklama jest gotowa do wyświetlenia, ale to zachowanie nie dotyczy reklam nielinearnych, w przypadku których treści są odtwarzane podczas wyświetlania reklamy.
Aby obsługiwać reklamy nieliniowe, nasłuchuj zdarzenia AdsManager
emitowanego przez LOADED
. Sprawdź, czy reklama jest linearna, a jeśli nie, wznow odtwarzanie w elemencie wideo.
Definicję funkcji onAdLoaded()
znajdziesz w poniższym przykładzie.
7. Wywoływanie 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ć zamieszanie wśród użytkowników urządzeń mobilnych, którzy oczekują, że będą mogli kliknąć odtwarzacz wideo, aby wstrzymać odtwarzanie. 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 mogą być obsługiwane. Nie dotyczy to reklam liniowych w przeglądarkach na urządzeniach innych niż mobilne, ponieważ kliknięcie reklamy otwiera link prowadzący do niej.
Aby wdrożyć funkcję kliknij, aby wstrzymać, dodaj funkcję obsługi kliknięć adContainerClick()
o nazwie w detektorze wczytywania okna.
8. Uruchamianie usługi AdsManager
Aby rozpocząć odtwarzanie reklamy, zainicjuj i uruchom AdsManager
. Aby w pełni obsługiwać przeglądarki mobilne, w których nie można automatycznie odtwarzać reklam, uruchamiaj odtwarzanie reklam w odpowiedzi na interakcje użytkownika ze stroną, np. kliknięcie przycisku odtwarzania.
9. Obsługa zmiany rozmiaru odtwarzacza
Aby reklamy dynamicznie zmieniały rozmiar i dopasowywały się do rozmiaru odtwarzacza wideo lub do zmian orientacji ekranu, wywołuj funkcję adsManager.resize()
w odpowiedzi na zdarzenia zmiany rozmiaru okna.
Znakomicie. Żądania reklam i ich wyświetlanie odbywa się teraz za pomocą pakietu IMA SDK. Więcej informacji o zaawansowanych funkcjach pakietu SDK znajdziesz w innych przewodnikach lub w przykładach na GitHubie.