Obsługa zapośredniczenia w środowisku wykonawczym SDK

Zapośredniczenie to powszechny sposób oferowania zarządzania zyskiem przez platformy reklamowe po stronie sprzedającego. W procesie zapośredniczenia pakiet SDK zapośredniczenia (mediator) wywołuje wiele sieci reklamowych (mediatee lub mediatees), aby uzyskać najlepszą reklamę dla danego miejsca na reklamę. W niektórych przypadkach zarówno mediator, jak i wywoływane przez niego sieci reklamowe muszą mieć pakiet SDK na urządzeniu i mieć możliwość interakcji.

Ten dokument zawiera najważniejsze zmiany w procesach zapośredniczenia w czasie działania platformy SDK. Obejmuje ona te tematy:

  • Różnice między poprzednimi ścieżkami zapośredniczenia a obecną obsługą zapośredniczenia w czasie wykonywania pakietu SDK
  • Konfigurowanie działań w ramach przepływów pracy zapośredniczenia w czasie działania pakietu SDK oraz różnych etapów przejścia
  • Wskazówki dotyczące postępowania w sytuacjach, w których nie wszystkie pakiety SDK zostały przeniesione do środowiska wykonawczego

Obsługa pośrednich reklam w środowisku wykonawczym pakietu SDK jest dostępna od wersji AGP 8.5 oraz tych wersji bibliotek Jetpacka do środowiska wykonawczego pakietu SDK:

Biblioteka Androidx Wersja
androidx.privacysandbox.activity 1.0.0-alpha01
androidx.privacysandbox.sdkruntime 1.0.0-alpha13
androidx.privacysandbox.tools 1.0.0-alpha08
androidx.privacysandbox.ui 1.0.0-alpha09

Słowniczek

Aby zrozumieć działanie mediowania w czasie wykonywania pakietu SDK, musisz znać te terminy:

  • Pakiet SDK używany w czasie działania (RE SDK): pakiet SDK przeznaczony do działania w środowisku wykonawczym SDK i komunikujący się z aplikacją za pomocą komunikacji międzyprocesowej (IPC).
  • Pakiet SDK zależny od czasu działania (RA SDK): pakiet SDK nieobsługiwany w czasie działania, który jest połączony z aplikacją w sposób statyczny. Może zawierać dotychczasowy kod SDK oraz nowy kod do wywołania pakietu SDK obsługiwanego w czasie działania.
  • Pakiet SDK w aplikacji: pakiet SDK, który jest połączony ze stałą aplikacją i nie ma dostępu do środowiska wykonawczego SDK. Może to być sieć reklamowa, która nie przeszła na środowisko uruchomieniowe pakietu SDK, lub niestandardowy adapter wydawcy.
  • Mediator: pakiet SDK do zapośredniczenia reklam, który zapewnia usługę zapośredniczenia na urządzeniu poprzez interakcję z innymi pakietami SDK sieci reklamowych.
  • Mediatee: pakiet SDK sieci reklamowej, który jest wywoływany przez mediatora w celu dostarczenia i wyświetlenia reklamy.
  • Adapter zapośredniczenia: pakiety SDK używane przez pakiet Mediator SDK do tłumaczenia interfejsu API w celu interoperacyjności z różnymi pakietami SDK pośrednika, które są zwykle dostarczane przez pośrednika. Mogą być one zależne od czasu wykonywania lub niezależne od niego.

Typowe przepływy zapośredniczenia

Jeśli pakiet SDK musi obsługiwać przypadki użycia zapośredniczenia w środowisku wykonawczym pakietu SDK, musisz wprowadzić pewne zmiany. W tej sekcji omawiamy kluczowe elementy procesów mediacji, aby móc wprowadzić zmiany wymagane w przypadku mediatorów i stron mediacji.

Opisane przez nas przepływy to uproszczona wersja zapośredniczenia na urządzeniu z wieloma pakietami SDK sieci reklamowych. Stanowią one podstawę do dyskusji na temat zmian wymaganych do zapewnienia zgodności ścieżek zapośredniczenia z czasem wykonywania pakietu SDK.

Ze względu na różnice w wdrożeniach przepływu zapośredniczenia skupiamy się na 2 głównych przepływach:

  • Inicjowanie (w tym wykrywanie sieci reklamowych i komunikacja)
  • Prezentacja reklamy w interfejsie użytkownika

Zdarzenie inicjujące

Poniżej przedstawiono standardową procedurę inicjowania, wykrywania sieci reklamowej i przekazywania informacji:

  1. Aplikacja kliencka inicjuje mediatora
  2. Pośrednik wykrywa i inicjalizuje odpowiednie pośrednie i adaptery
  3. Pośrednik używa swoich adapterów do komunikacji z każdą stroną uczestniczącą w zapośredniczeniu
  4. Aplikacja kliencka prosi pośrednika o wczytanie reklamy
  5. Aplikacja klienta prosi pośrednika o wyświetlenie tej reklamy

Prezentacja interfejsu reklamy

Jeśli chodzi o renderowanie reklamy po ostatnim żądaniu w poprzednim kroku, przebieg zależy od typu reklamy:

Banery reklamowe Reklamy pełnoekranowe reklamy natywne,
Pakiet SDK pośrednika tworzy widok reklamy, który otacza widok reklamy zwycięskiego pośrednika.

Może też ustawić w tym widoku słuchaczy lub automatycznie odświeżyć reklamę (za pomocą tego samego lub innego pośrednika).
Pakiet SDK pośrednika wysyła żądanie reklamy pełnoekranowej do aplikacji podlegającej zapośredniczeniu, która z kolei uruchamia działanie. Wydawca zarządza wyświetlaniem i rozwijaniem za pomocą komponentów zwracanych przez pakiet SDK mediatora.

Przepływy zapośredniczenia w środowisku wykonawczym SDK

Sposób działania zapośredniczenia w czasie działania pakietu SDK zależy od tego, czy obiekt zapośredniczenia jest włączony w czasie działania. W zależności od tego możemy mieć do czynienia z tymi scenariuszami:

  • Zarówno mediator, jak i mediate są w środowisku wykonawczym SDK: RE mediatee
  • Pośrednik znajduje się w środowisku wykonawczym pakietu SDK, a mediatowany element – w aplikacji: Mediatowany element w aplikacji

RE Mediatee

Na poniższym diagramie architektury przedstawiono ogólnie interakcje między interfejsami API pakietów SDK dostosowanego do czasu wykonywania (RE) i uwzględniającego czas wykonywania (RA) mediatora, adapterami do mediowania RE oraz interfejsami API pakietów SDK do mediowania RE reklamodawców.

Adaptery pośrednictwa muszą być w tym samym procesie co pośrednik, z którym się łączą, więc muszą też przejść na środowisko wykonawcze SDK.

Diagram architektury przedstawiający ogólne informacje o interakcji między interfejsami API do mediowania z użyciem pakietu SDK umożliwiającego działanie w czasie wykonywania (RE) i uwzględniającego działanie w czasie wykonywania (RA), interfejsami API do mediowania RE oraz pakietami SDK RE reklamodawców.
Rysunek 1. Zarówno mediator, jak i usługa zapośredniczona są pakietami RE SDK.

Zdarzenie inicjujące

Jeśli chodzi o inicjowanie, wykrywanie i komunikację zarówno mediatora, jak i obiektu pośredniczącego, proces przebiega w taki sposób:

  1. Aplikacja (lub pakiet SDK reklamy w wyszukiwarce) wczytuje i inicjalizuje mediatora za pomocą interfejsu SdkSandboxManager#loadSdk.
  2. Podczas inicjowania mediatora pakiet SDK wczytuje i inicjuje wszystkie wymagane pośredniki w środowisku wykonawczym pakietu SDK za pomocą SdkSandboxController#loadSdk.
  3. Pakiet SDK RE może wykrywać wszystkie załadowane pakiety SDK w środowisku wykonawczym, wywołując funkcję SdkSandboxController#getSandboxedSdks.
RE – diagram sekwencji zapośredniczenia RE przedstawiający omówiony wcześniej proces.
Rysunek 2. Proces inicjowania pośrednika RE.

Prezentacja interfejsu reklamy

W tej sekcji omawiamy wczytywanie banerów i reklam pełnoekranowych z poziomu REmediatee.

RE Mediatee banner ads

Gdy aplikacja wysyła żądanie załadowania banera reklamowego, proces renderowania przebiega w ten sposób:

  1. Pośrednik wybiera zwycięski pośrednik dla tej reklamy.
  2. Pośrednik uzyskuje od strony, która jest przedmiotem mediacji, SandboxedUiAdapter.
  3. Pośrednik przekazuje interfejs UiAdapter do aplikacji.
Schemat procesu renderowania reklamy banerowej w ramach zapośredniczenia RE-RE
Rysunek 3. Proces renderowania banera reklamowego z poziomu zapośredniczenia RE.

Dowiedz się więcej o używaniu biblioteki SandboxedUiAdapter i interfejsu użytkownika biblioteki pakietu SDK w czasie wykonywania.

Nakładki na banery reklamowe

Jeśli pośrednicy chcą dodać do reklamy nakładkę, muszą zmodyfikować proces w taki sposób:

  1. Pośrednik tworzy układ z nakładką i SandboxedSdkView.
  2. Pośrednik wybiera zwycięski pośrednik dla tej reklamy.
  3. Mediator uzyskuje SandboxedUiAdapter od strony, która jest przedmiotem mediacji.
  4. Pośrednik ustawia wartość UiAdapter obiektu pośredniczącego na SandboxedSdkView.
  5. Pośrednik udostępnia wypełniony widok aplikacji.
Procedura nakładania widoku na baner reklamowy uzyskany z RE Mediatee.
Procedura nakładania widoku na baner reklamowy uzyskany z RE Mediatee.
RE Mediatee full-screen ads

Gdy aplikacja poprosi o wczytanie reklamy pełnoekranowej, proces będzie wyglądał tak:

  1. Aplikacja (lub pakiet RA SDK) przekazuje mediatorowi SdkActivityLauncherz żądaniem załadowania reklamy.
    1. Klient może ograniczyć tworzenie aktywności za pomocą predykatu.
  2. Pośrednik wybiera zwycięski pośrednik dla tej reklamy.
  3. Pośrednik prosi o wczytanie reklamy, przekazując SdkActivityLauncher z aplikacji.
  4. Obiekt pośredniczący rejestruje moduł obsługi aktywności i otrzymuje token identyfikatora dla zarejestrowanej aktywności.
  5. Usługa pośrednicząca używa tokena SdkActivityLauncher do żądania rozpoczęcia działania za pomocą tego tokena.
  6. Jeśli predykat aplikacji klienckiej na to zezwala, środowisko wykonawcze SDK uruchomi tę aktywność w ramach dedykowanego procesu.
Proces wyświetlania pośredniczonej aplikacji pełnoekranowej z RE Mediatee.
Rysunek 4. Schemat przepływu pokazujący, jak wczytać zapośredniczoną reklamę pełnoekranową z RE Mediatee.

Więcej informacji o obsługiwaniu aktywności w reklamach pełnoekranowych w pakiecie SDK Runtime

Mediatee w aplikacji

Na poniższym diagramie architektury znajdziesz ogólne omówienie interakcji między pakietami SDK RE i RA pośrednika, adapterami pośrednictwa, które nie są świadome środowiska wykonawczego SDK, oraz pakietami SDK pośredników połączonymi statycznie z aplikacją (również nieświadomymi środowiska wykonawczego).

Diagram architektury przedstawiający ogólny zarys interakcji między pakietami SDK RE i RA pośrednika, adapterami pośrednictwa, które nie są świadome środowiska wykonawczego SDK, oraz pakietami SDK pośrednictwa połączonymi statycznie z aplikacją (również nieświadomymi środowiska wykonawczego).
Rysunek 5. Aplikacja pośrednicząca jest statycznie powiązana z aplikacją, nawet jeśli jest świadoma pakietu SDK RE.

Zdarzenie inicjujące

W tym scenariuszu pośrednicy są statycznie powiązani z aplikacją i jeszcze nie zostali przeniesieni do środowiska wykonawczego pakietu SDK, dlatego środowisko wykonawcze pakietu SDK pośrednika powinno zawierać proces rejestracji tych pośredników.

Rejestracja powinna być dostępna za pomocą interfejsu API pośrednika, ale szczegóły implementacji pozostawiamy do decyzji każdego pośrednika. Nazywamy go interfejsem API MediationSandboxedSdk#registerInAppMediatee.

Jeśli chodzi o inicjowanie, wykrywanie i komunikację pośredniczącego pakietu SDK RE oraz pakietów SDK pośredniczonych w aplikacji, proces przebiega w taki sposób:

  1. Aplikacja wczytuje i inicjalizuje pakiet SDK pośrednika z uwzględnieniem czasu wykonywania.
  2. Pakiet SDK RA pośrednika:
    1. Inicjowanie pakietu RE SDK pośrednika za pomocą SdkSandboxManager#loadSdk.
    2. Inicjowanie wszystkich pakietów SDK mediowanych w aplikacji.
    3. Wykrywanie i rejestrowanie pośrednich pakietów SDK w aplikacji za pomocą interfejsu API udostępnianego przez pakiet SDK RE (MediationSandboxedSdk#registerInAppMediate).

Oprócz zarejestrowania wszystkich pakietów SDK mediowanych w aplikacji mediator może za pomocą SdkSandboxController#getSandboxedSdks wykrywać wszystkie pakiety SDK załadowane w środowisku wykonawczym pakietu SDK.

Sekwencja ilustrująca opisane powyżej działanie wstępne do zainicjowania pośredniczenia w aplikacji.
Rysunek 6. Pamiętaj, że do rejestrowania odwołań do pośredników w aplikacji używamy interfejsu API sugerowanego pośrednika.

Prezentacja interfejsu reklamy

W tej sekcji omawiamy wczytywanie banerów i reklam pełnoekranowych z mediatee w aplikacji.

Banery reklamowe z pośrednictwem w aplikacji

Gdy aplikacja wysyła żądanie załadowania banera reklamowego, proces renderowania przebiega w ten sposób:

  1. Pakiet SDK obsługujący środowisko uruchomieniowe pośrednika przekazuje żądanie aplikacji do swojego pakietu SDK obsługującego środowisko uruchomieniowe.
  2. Pakiet SDK RE pośrednika wybiera odpowiednią stronę pośredniczą.
  3. Pakiet SDK RE pośrednika pobiera odwołanie do pośrednika i prosi o wczytanie reklamy za pomocą pakietu SDK RA.
  4. Pakiet SDK RA uzyskuje widok z zapośredniczenia w aplikacji.
  5. Pakiet SDK RA tworzy SandboxedUiAdapter dla otrzymanego widoku.
  6. Pakiet SDK RA przekazuje UiAdapter do pakietu SDK RE.
  7. Pakiet SDK RE przekazuje UiAdapter do aplikacji.
Proces renderowania banerów reklamowych z pośrednictwem w aplikacji
Rysunek 7. Pamiętaj, że pośrednik nie może nakładać wyświetleń na V1, gdy uzyskuje je z poziomu aplikacji.
Reklamy pełnoekranowe w aplikacji obsługiwane przez pośrednika

Gdy aplikacja poprosi o wczytanie reklamy pełnoekranowej, proces będzie wyglądał tak:

  1. Aplikacja przekazuje SdkActivityLauncher do pakietu RA SDK pośrednika żądanie załadowania reklamy.
    1. Klient może ograniczyć tworzenie aktywności za pomocą predykatu.
  2. Pakiet SDK RA pośrednika przekazuje żądanie aplikacji do pakietu SDK RE.
  3. Pakiet SDK RE pośrednika:
    1. Wybiera odpowiedni obiekt pośredniczący.
    2. Pobiera odwołanie do pośrednika w aplikacji.
    3. Żądania wczytania reklamy za pomocą pakietu RA SDK.
  4. Pakiet RA SDK prosi o wczytanie reklamy.
  5. Osoba pośrednicząca uruchamia aktywność bezpośrednio. Założenie aplikacji nie zostanie spełnione.
Proces wczytywania reklamy pełnoekranowej, gdy pośrednik jest w aplikacji.
Rysunek 8. Wyrażenie z predykatem zostanie zignorowane przez pośrednika w aplikacji.

Angażowanie użytkowników i przesyłanie opinii

Piaskownica prywatności na Androida to projekt ciągły, a ten dokument odzwierciedla jego obecną wersję. Twoja opinia jest dla nas bardzo ważna, ponieważ stale rozwijamy tę funkcję i ulepszamy jej działanie. Zgłoś błąd, aby przekazać opinię.