Ten przewodnik dotyczy integracji pakietu IMA DAI SDK z aplikacją odtwarzacza wideo. Jeśli chcesz zobaczyć lub prześledzić gotową przykładową integrację, pobierz PodServingExample z GitHub.
Omówienie IMA DAI
Implementacja IMA DAI obejmuje 4 główne komponenty pakietu SDK, które opisujemy w tym przewodniku:
IMAAdDisplayContainer– obiekt kontenera, który znajduje się nad elementem odtwarzania filmu i zawiera elementy interfejsu reklamy.IMAAdsLoader– obiekt, który żąda strumieni i obsługuje zdarzenia wywoływane przez obiekty odpowiedzi na żądanie strumienia. Należy utworzyć tylko 1 instancję obiektu ads loader, którą można wielokrotnie wykorzystywać przez cały okres działania aplikacji.IMAStreamRequest–IMAPodVODStreamRequestlubIMAPodStreamRequest.IMAStreamManager– 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.
Aby odtwarzać strumienie z wyświetlaniem bloków reklamowych, zaimplementuj niestandardowy moduł obsługi VTP. Ten niestandardowy moduł obsługi VTP wysyła identyfikator strumienia do partnera technicznego wideo (VTP) wraz z innymi informacjami, których potrzebuje on do zwrócenia pliku manifestu strumienia zawierającego zarówno treści, jak i połączone reklamy. Dostawca VTP udostępnia instrukcje dotyczące implementacji niestandardowego modułu obsługi VTP.
Wymagania wstępne
Zanim zaczniesz, musisz mieć:
- Xcode 13 lub nowszy,
- Metoda instalacji pakietu IMA SDK:
- Swift Package Manager (preferowany)
- pobrana kopia pakietu IMA SDK na iOS,
Parametry są też potrzebne do wysyłania żądań strumienia z pakietu IMA SDK.
| Parametry transmisji na żywo | |
|---|---|
| Kod sieci |
Kod sieci konta Ad Managera 360. |
| Niestandardowy klucz zasobu |
Niestandardowy klucz zasobu, który identyfikuje zdarzenie wyświetlania bloku reklamowego w usłudze Ad Manager 360. Tworzy go manipulator plikami manifestu lub zewnętrzny partner świadczący usługę wyświetlania bloków reklamowych. |
| Parametry strumienia VOD | |
| Kod sieci |
Kod sieci konta Ad Managera 360. |
Tworzenie nowego projektu Xcode
W Xcode utwórz nowy projekt na iOS o nazwie „PodServingExample” i użyj języka Objective-C.
Dodawanie pakietu IMA DAI SDK do projektu w Xcode
Aby zainstalować pakiet IMA SDK, wybierz preferowaną metodę.
Zalecane: zainstaluj pakiet SDK za pomocą narzędzia Swift Package Manager
Pakiet Interactive Media Ads SDK obsługuje Swift Package Manager od wersji 3.18.4. Aby zaimportować pakiet Swift, wykonaj te czynności.
W Xcode zainstaluj pakiet Swift IMA DAI SDK: kliknij File > Add Packages (Plik > Dodaj pakiety).
W wyświetlonym oknie wyszukaj repozytorium GitHub pakietu Swift IMA DAI SDK:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosWybierz wersję pakietu Swift pakietu IMA DAI SDK, której chcesz użyć. W przypadku nowych projektów użyj opcji Up to Next Major Version (Do następnej wersji głównej).
Gdy skończysz, Xcode przetworzy zależności pakietu i pobierze je w tle. Więcej informacji o dodawaniu zależności pakietów znajdziesz w tym artykule Apple.
Ręczne pobieranie i instalowanie pakietu SDK
Jeśli nie chcesz używać menedżera pakietów Swift, pobierz i ręcznie dodaj pakiet IMA SDK do projektu.
Tworzenie odtwarzacza wideo
Zaimplementuj odtwarzacz wideo w głównym kontrolerze widoku; umieść odtwarzacz AV w widoku interfejsu. Pakiet IMA SDK używa widoku interfejsu do wyświetlania elementów interfejsu reklamy displayowej.
Objective-C
Swift
Inicjowanie modułu ładowania reklam
Zaimportuj pakiet IMA SDK do kontrolera widoku i zastosuj protokoły IMAAdsLoaderDelegate i IMAStreamManagerDelegate, aby obsługiwać zdarzenia modułu do ładowania reklam i menedżera strumieni.
Dodaj te właściwości prywatne, aby przechowywać kluczowe komponenty pakietu IMA SDK:
IMAAdsLoader- Zarządza żądaniami strumieniowymi przez cały okres działania aplikacji.
IMAAdDisplayContainer- Zajmuje się wstawianiem elementów interfejsu reklam i zarządzaniem nimi.
IMAAVPlayerVideoDisplay– komunikuje się między pakietem IMA SDK a odtwarzaczem multimedialnym i obsługuje metadane z sygnaturą czasową.IMAStreamManager– zarządza odtwarzaniem transmisji i wywołuje zdarzenia związane z reklamami.
Po wczytaniu widoku zainicjuj moduł ładowania reklam, kontener wyświetlania reklam i wyświetlanie filmu.
Objective-C
Swift
Wysyłanie żądania strumienia
Gdy użytkownik naciśnie przycisk odtwarzania, wyślij nowe żądanie strumienia.
W przypadku transmisji na żywo używaj klasy IMAPodStreamRequest. W przypadku strumieni VOD użyj klasy IMAPodVODStreamRequest.
Żądanie strumienia wymaga parametrów strumienia oraz odniesienia do kontenera wyświetlania reklam i wyświetlania wideo.
Objective-C
Swift
Nasłuchiwanie zdarzeń wczytywania strumienia
Klasa IMAAdsLoader wywołuje metody IMAAdsLoaderDelegate po udanej lub nieudanej inicjalizacji żądania strumienia.
W metodzie delegowanej adsLoadedWithData ustaw IMAStreamManagerDelegate.
Przekaż identyfikator strumienia do niestandardowego modułu obsługi VTP i pobierz adres URL pliku manifestu strumienia. W przypadku transmisji na żywo wczytaj adres URL pliku manifestu do odtwarzacza i rozpocznij odtwarzanie. W przypadku strumieni VOD przekaż adres URL pliku manifestu do metody loadThirdPartyStream menedżera strumieni. Ta metoda żąda danych zdarzenia reklamy z Ad Managera 360, a następnie wczytuje adres URL pliku manifestu i rozpoczyna odtwarzanie.
W metodzie delegowanej failedWithErrorData zarejestruj błąd. Opcjonalnie możesz odtworzyć strumień zapasowy. Zobacz sprawdzone metody dotyczące DAI.
Objective-C
Swift
Implementowanie niestandardowego modułu obsługi VTP
Niestandardowy moduł obsługi VTP wysyła identyfikator strumienia widza do partnera technicznego ds. wideo (VTP) wraz z innymi informacjami, których VTP wymaga do zwrócenia pliku manifestu strumienia zawierającego zarówno treści, jak i połączone reklamy. VTP zawiera szczegółowe instrukcje dotyczące implementacji niestandardowego modułu obsługi VTP.
Na przykład VTP może zawierać adres URL szablonu pliku manifestu z makrem [[STREAMID]]. W tym przykładzie moduł obsługi wstawia identyfikator strumienia w miejsce makra i zwraca wynikowy adres URL pliku manifestu.
Objective-C
Swift
Nasłuchiwanie zdarzeń reklamowych
IMAStreamManager wywołuje metody IMAStreamManagerDelegate, aby przekazywać zdarzenia i błędy strumienia do aplikacji.
W tym przykładzie zarejestruj zdarzenia dotyczące reklamy głównej w konsoli:
Objective-C
Swift
Czyszczenie zasobów IMA DAI
Aby zatrzymać odtwarzanie transmisji, zatrzymać śledzenie wszystkich reklam i zwolnić wszystkie wczytane zasoby transmisji, wywołaj IMAStreamManager.destroy().
Uruchom aplikację. Jeśli wszystko działa, poproś o strumienie DAI Google i odtwórz je za pomocą pakietu IMA SDK. Aby dowiedzieć się więcej o bardziej zaawansowanych funkcjach pakietu SDK, zapoznaj się z innymi przewodnikami wymienionymi na pasku bocznym po lewej stronie lub z przykładami na GitHubie.