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. Za pomocą pakietów IMA DAI SDK aplikacje wysyłają żądanie strumienia reklamy i treści wideo – VOD lub treści na żywo. Pakiet SDK zwraca wtedy połączony strumień wideo, dzięki czemu nie musisz zarządzać przełączaniem między reklamą a treściami wideo w aplikacji.
Wybierz interesujące Cię rozwiązanie DAI
Dynamiczne wstawianie reklam z pełną obsługą
Z tego przewodnika dowiesz się, jak zintegrować pakiet IMA DAI SDK z prostą aplikacją odtwarzacza wideo. Jeśli chcesz zobaczyć gotową przykładową integrację lub z niej skorzystać, pobierz BasicExample z GitHub.
Omówienie IMA DAI
Wdrażanie IMA DAI obejmuje 4 główne komponenty pakietu SDK, które zostały opisane w tym przewodniku:
StreamDisplayContainer
: obiekt kontenera, który znajduje się nad elementem odtwarzania wideo i zawiera elementy interfejsu reklamy.AdsLoader
: Obiekt, który wysyła żądania strumieni i obsługuje zdarzenia wywoływane przez obiekty odpowiedzi na żądania strumieni. Należy utworzyć tylko jeden moduł wczytywania reklam, który można ponownie wykorzystywać przez cały okres działania aplikacji.StreamRequest
: obiekt, który definiuje żądanie strumienia. Żądania strumieni mogą dotyczyć transmisji wideo na żądanie lub transmisji na żywo. Żądania transmisji na żywo zawierają klucz pliku, a żądania VOD – identyfikator CMS i identyfikator wideo. Oba typy żądań mogą opcjonalnie zawierać klucz API potrzebny do uzyskania dostępu do określonych strumieni oraz kod sieci Google Ad Managera, aby pakiet IMA SDK mógł obsługiwać identyfikatory 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 przesyła zdarzenia strumienia i reklamy do wydawcy.
Wymagania wstępne
- Android Studio
- Przykładowa aplikacja odtwarzacza wideo do integracji z pakietem SDK
Pobieranie i uruchamianie przykładowej aplikacji odtwarzacza wideo
Przykładowa aplikacja zawiera działający odtwarzacz wideo, który odtwarza filmy HLS. Użyj tego jako punktu wyjścia do zintegrowania funkcji DAI pakietu IMA DAI SDK.
Pobierz przykładową aplikację odtwarzacza wideo i ją rozpakuj.
Uruchom Android Studio i kliknij Otwórz istniejący projekt Android Studio. Jeśli Android Studio jest już uruchomione, kliknij Plik > Nowy > Importuj projekt. Następnie kliknij
SampleVideoPlayer/build.gradle
.Uruchom synchronizację Gradle, wybierając Narzędzia > Android > Synchronizuj projekt z plikami Gradle.
Sprawdź, czy aplikacja odtwarzacza kompiluje się i działa na fizycznym urządzeniu z Androidem lub na wirtualnym urządzeniu z Androidem, korzystając z opcji Uruchom > Uruchom „aplikację”. Wczytanie strumienia wideo przed odtworzeniem może potrwać kilka sekund.
Sprawdź przykładowy odtwarzacz wideo
Przykładowy odtwarzacz wideo nie zawiera jeszcze kodu integracji pakietu IMA DAI SDK. Przykładowa aplikacja składa się z 2 głównych części:
samplevideoplayer/SampleVideoPlayer.java
: odtwarzacz HLS oparty na ExoPlayer, który stanowi podstawę integracji IMA DAI.videoplayerapp/MyActivity.java
: ta aktywność tworzy odtwarzacz wideo i przekazuje muContext
imedia3.ui.PlayerView
.
Dodawanie pakietu IMA DAI SDK do aplikacji odtwarzacza
Musisz też dodać odwołanie do pakietu IMA DAI SDK. W Android Studio dodaj ten kod do pliku build.gradle na poziomie aplikacji, który znajduje się w folderze app/build.gradle. Pakiet IMA SDK wymaga włączonego odcukrzania bibliotek. Aby to zrobić, musisz ustawić coreLibraryDesugaringEnabled true
i dodać coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
jako zależność w pliku build.gradle. Więcej informacji znajdziesz w artykule Interfejsy API Java 11+ dostępne w ramach desugaryzacji ze specyfikacją nio.
Integracja pakietu IMA DAI SDK
Utwórz nową klasę o nazwie
SampleAdsWrapper
w pakiecievideoplayerapp
(wapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
), aby opakować istniejącą klasęSampleVideoPlayer
i dodać logikę implementującą IMA DAI. Aby to zrobić, musisz najpierw utworzyćAdsLoader
, który służy do wysyłania żądań strumienia DAI.Ten fragment kodu zawiera przykładowe parametry strumieni HLS i DASH, transmisji na żywo i VOD. Aby ustawić, który strumień ma być odtwarzany, zaktualizuj zmienną
CONTENT_TYPE
.Utwórz metodę pomocniczą
createSampleVideoPlayerCallback()
, która będzie obsługiwać tworzenie instancji interfejsuSampleVideoPlayerCallback
rozszerzającegoVideoStreamPlayer.VideoStreamPlayerCallback
.Aby odtwarzacz mógł współpracować z DAI, musi przekazywać zdarzenia ID3 do pakietu IMA DAI SDK. Metoda
callback.onUserTextReceived()
robi to w tym przykładowym kodzie.Dodaj metodę
buildStreamRequest()
, aby utworzyćSteamRequest
. Ta metoda przełącza się między różnymi strumieniami w zależności od ustawienia zmiennejCONTENT_TYPE
. Domyślnym strumieniem używanym w tym przewodniku jest przykładowy strumień VOD HLS pakietu IMA.Potrzebujesz też
VideoStreamPlayer
, aby odtwarzać strumień, więc dodaj metodęcreateVideoStreamPlayer()
, która tworzy anonimową klasę implementującąVideoStreamPlayer
.Zaimplementuj wymagane odbiorniki i dodaj obsługę błędów.
Zwróć uwagę na implementację
AdErrorListener
, ponieważ w przypadku niepowodzenia odtwarzania reklam wywołuje ona adres URL rezerwowy. Treści i reklamy znajdują się w jednym strumieniu, więc musisz być gotowy(-a) do wywołania strumienia rezerwowego, jeśli w strumieniu DAI wystąpi błąd.Dodaj kod logowania.
Zmodyfikuj
MyActivity
wvideoplayerapp
, aby utworzyć instancję i wywołaćSampleAdsWrapper
. Wywołaj też funkcjęImaSdkFactory.initialize()
tutaj za pomocą metody pomocniczej, aby utworzyć instancjęImaSdkSettings
.Dodaj metodę pomocniczą
getImaSdkSettings()
, aby utworzyć instancjęImaSdkSettings
.Zmodyfikuj plik układu aktywności
activity_my.xml
, aby dodać elementy interfejsu do rejestrowania.
Gratulacje! W aplikacji na Androida wyświetlasz teraz reklamy wideo. Aby dostosować wdrożenie, zapoznaj się z sekcjami Zakładki, Snapback i dokumentacją API.
Rozwiązywanie problemów
Jeśli masz problemy z odtwarzaniem reklamy wideo, spróbuj pobrać gotowy przykład BasicExample. Jeśli w przykładzie BasicExample działa prawidłowo, prawdopodobnie występuje problem z kodem integracji IMA w aplikacji.
Jeśli nadal masz problemy, odwiedź forum IMA SDK.