Pakiety IMA SDK ułatwiają integrację reklam multimedialnych z witrynami i aplikacjami. Pakiety IMA SDK mogą wysyłać żądania reklam z dowolnego serwera reklam zgodnego ze standardem 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 treści wideo aplikacji.
Z tego przewodnika dowiesz się, jak zintegrować pakiet IMA SDK z prostą aplikacją odtwarzacza wideo. Jeśli chcesz zobaczyć lub pobrać gotowy przykład integracji, 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 pakietu IMA SDK po stronie klienta
Implementacja pakietu IMA SDK po stronie klienta obejmuje 4 główne komponenty SDK, które zostały opisane w tym przewodniku:
AdDisplayContainer: Obiekt kontenera, który określa, gdzie IMA renderuje elementy interfejsu reklamowego 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. Należy utworzyć tylko jeden moduł wczytywania reklam, który można ponownie wykorzystać przez cały okres działania aplikacji.AdsRequest: Obiekt, który definiuje żądanie reklamy. Żądania reklam określają adres URL tagu reklamy VAST oraz 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. Uruchom serwer programistyczny
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żyć serwera WWW. Najprostszym sposobem na uruchomienie lokalnego serwera programistycznego 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
http://localhost:8000/.
Możesz też użyć dowolnego innego serwera WWW, np. serwera HTTP Apache.
2. Utwórz prosty odtwarzacz wideo
Najpierw zmodyfikuj plik index.html , aby utworzyć prosty element wideo HTML5 zawarty w elemencie opakowującym
oraz przycisk uruchamiający odtwarzanie. Poniższy przykład importuje pakiet IMA SDK i konfiguruje
element kontenera AdDisplayContainer. Więcej informacji znajdziesz w
Importowanie pakietu IMA SDK
i
Tworzenie kontenera reklamy
krokach.
Dodaj niezbędne tagi, aby wczytać pliki style.css i ads.js. Następnie zmodyfikuj styles.css, aby odtwarzacz wideo był responsywny na urządzeniach mobilnych. Na koniec w pliku ads.js zadeklaruj zmienne i uruchom odtwarzanie wideo po kliknięciu przycisku odtwarzania.
Pamiętaj, że fragment kodu ads.js zawiera wywołanie funkcji setUpIMA(), która jest zdefiniowana w sekcji
Inicjowanie modułu AdsLoader i wysyłanie żądania reklamy
.
3. Importowanie pakietu IMA SDK
Następnie dodaj platformę IMA za pomocą 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 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 nakładanie się na element wideo od
lewego górnego rogu. Wysokość i szerokość reklam umieszczonych w tym kontenerze są ustawiane przez obiekt
adsManager, więc nie musisz ustawiać tych wartości ręcznie.
Aby zaimplementować ten element kontenera reklamy, najpierw utwórz nowy div w elemencie
video-container. Następnie zaktualizuj CSS, aby umieścić element w lewym górnym rogu
elementu video-element. Na koniec dodaj funkcję createAdDisplayContainer(), aby utworzyć obiekt AdDisplayContainer za pomocą nowego kontenera reklamy
div.
5. Inicjowanie modułu AdsLoader i wysyłanie żądania reklamy
Aby wysłać żądanie reklamy, utwórz
AdsLoader
instancję. 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 adres URL tagu reklamy za pomocą narzędzia
Inspektor pakietu wideo IMA.
Zalecamy, aby przez cały
cykl życia strony utrzymywać tylko jedną instancję AdsLoader. Aby wysłać dodatkowe żądania reklam, utwórz nowy AdsRequest
obiekt, ale użyj tego samego AdsLoader. Więcej informacji znajdziesz w najczęstszych pytaniach dotyczących pakietu
IMA SDK.
Nasłuchuj zdarzeń wczytania reklam i błędów oraz reaguj na nie za pomocą funkcji AdsLoader.addEventListener.
Nasłuchuj tych zdarzeń:
ADS_MANAGER_LOADEDAD_ERROR
Aby utworzyć odbiorniki onAdsManagerLoaded() i onAdError(), zapoznaj się z tym
przykładem:
6. Reagowanie na zdarzenia modułu AdsLoader
Gdy moduł AdsLoader pomyślnie wczyta reklamy, wyemituje zdarzenie
ADS_MANAGER_LOADED. Przeanalizuj zdarzenie przekazane do wywołania zwrotnego, aby zainicjować obiekt
AdsManager. Moduł AdsManager wczytuje poszczególne reklamy zgodnie z
odpowiedzią na adres URL tagu reklamy.
Upewnij się, że obsługujesz wszystkie błędy, które wystąpią podczas procesu wczytywania. Jeśli reklamy się nie wczytają , upewnij się, że odtwarzanie multimediów będzie 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ówAdsManager
Obsługa błędów utworzona dla modułu AdsLoader może też służyć jako obsługa błędów dla
modułu AdsManager. Zobacz moduł obsługi zdarzeń ponownie wykorzystujący funkcję onAdError().
Obsługa zdarzeń odtwarzania i wstrzymywania
Gdy moduł AdsManager jest gotowy do wstawienia reklamy do wyświetlenia, wywołuje zdarzenie
CONTENT_PAUSE_REQUESTED. Obsłuż to zdarzenie, wywołując wstrzymanie w
podstawowym odtwarzaczu wideo. Podobnie, gdy reklama się zakończy, moduł AdsManager wywołuje zdarzenie
CONTENT_RESUME_REQUESTED. Obsłuż to zdarzenie, ponownie uruchamiając odtwarzanie podstawowej treści wideo na
Definicje funkcji onContentPauseRequested() i
onContentResumeRequested() znajdziesz w tym przykładzie:
Obsługa odtwarzania treści podczas wyświetlania reklam nielinearnych
Moduł AdsManager wstrzymuje odtwarzanie treści wideo, gdy reklama jest gotowa do odtworzenia, ale to
zachowanie nie uwzględnia reklam nielinearnych, w przypadku których treść jest odtwarzana podczas wyświetlania reklamy.
Aby obsługiwać reklamy nielinearne, nasłuchuj, czy moduł AdsManager emituje zdarzenie
LOADED. Sprawdź, czy reklama jest liniowa, a jeśli nie, wznow odtwarzanie elementu wideo.
Definicję funkcji onAdLoaded() znajdziesz w tym przykładzie.
7. Wywoływanie wstrzymania po kliknięciu na urządzeniach mobilnych
Ponieważ element AdContainer nakłada się na element wideo, użytkownicy nie mogą bezpośrednio wchodzić w interakcję z
podstawowym odtwarzaczem. Może to dezorientować użytkowników urządzeń mobilnych, którzy oczekują, że będą mogli wstrzymać odtwarzanie, dotykając a
odtwarzacza wideo. Aby rozwiązać ten problem, pakiet IMA SDK przekazuje wszystkie kliknięcia, które nie są obsługiwane przez IMA, z nakładki na reklamie 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 otwiera
link docelowy.
Aby zaimplementować wstrzymanie po kliknięciu, dodaj funkcję obsługi kliknięć adContainerClick() wywoływaną
w odbiorniku wczytywania okna.
8. Uruchamianie modułu AdsManager
Aby rozpocząć odtwarzanie reklamy, zainicjuj i uruchom moduł AdsManager. Aby w pełni obsługiwać przeglądarki mobilne, w których nie można automatycznie odtwarzać reklam, wywołuj odtwarzanie reklam w wyniku interakcji użytkownika
ze stroną, np. kliknięcia przycisku odtwarzania.
9. Obsługa zmiany rozmiaru odtwarzacza
Aby reklamy zmieniały rozmiar dynamicznie 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.
To wszystko. Teraz możesz wysyłać żądania reklam i wyświetlać reklamy za pomocą pakietu IMA SDK. Aby dowiedzieć się więcej o bardziej zaawansowanych funkcjach pakietu SDK, zapoznaj się z innymi przewodnikami lub przykładami na GitHub.