Obsługa zapośredniczenia w środowisku wykonawczym SDK

Zapośredniczenie to powszechny sposób, w jaki platformy reklamowe po stronie sprzedającego oferują zarządzanie zyskami. W procesie zapośredniczenia pakiet SDK do zapośredniczenia („zapośredniczający”) wywołuje wiele sieci reklamowych („zapośredniczanych”) w celu uzyskania najlepszej reklamy w danym miejscu. W niektórych przypadkach zarówno mediator, jak i wywoływane przez niego sieci reklamowe muszą mieć na urządzeniu swoje pakiety SDK i wchodzić ze sobą w interakcje.

W tym dokumencie opisujemy najważniejsze zmiany w procesach mediacji w środowisku wykonawczym pakietu SDK. Obejmuje on te tematy:

  • Różnice między poprzednimi przepływami zapośredniczeń a obecną obsługą zapośredniczeń w środowisku wykonawczym pakietu SDK
  • Konfigurowanie działań w przypadku przepływów pracy zapośredniczenia w środowisku wykonawczym pakietu SDK i 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 reklam z mediacją w środowisku wykonawczym SDK jest dostępna w AGP 8.5 i w tych wersjach bibliotek Jetpack środowiska wykonawczego 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ć mediację w środowisku wykonawczym pakietu SDK, zapoznaj się z tymi terminami:

  • Pakiet SDK używany w czasie działania aplikacji: pakiet SDK przeznaczony do działania w środowisku wykonawczym SDK i komunikowania się z aplikacją za pomocą komunikacji międzyprocesowej (IPC).
  • Pakiet SDK wywoływany w czasie działania aplikacji: pakiet SDK niewywoływany w czasie działania aplikacji, który jest statycznie połączony z aplikacją i może zawierać dotychczasowy kod pakietu SDK oraz nowy kod do wywoływania pakietu SDK wywoływanego w czasie działania aplikacji.
  • Pakiet SDK w aplikacji: pakiet SDK, który jest połączony z aplikacją statycznie i nie ma informacji o środowisku wykonawczym SDK. Może to być sieć reklamowa, która nie przeszła na środowisko wykonawcze pakietu SDK, lub niestandardowy adapter wydawcy.
  • Pośrednik: pakiet SDK do zapośredniczenia reklam, który zapewnia na urządzeniu usługę zapośredniczenia dzięki interakcji z pakietami SDK innych sieci reklamowych.
  • Sieć zapośredniczana: pakiet SDK sieci reklamowej, do którego wywołanie wysyła sieć zapośredniczająca, aby dostarczyć i wyrenderować reklamę.
  • Adapter zapośredniczeń: pakiety SDK używane przez pakiet SDK zapośredniczeń do tłumaczenia interfejsu API w celu współpracy z różnymi pakietami SDK podmiotów zapośredniczących, zwykle dostarczanymi przez podmiot zapośredniczący. Mogą one być dostosowane do środowiska wykonawczego lub nie.

Typowe przepływy zapośredniczenia

Jeśli Twój pakiet SDK ma obsługiwać przypadki użycia zapośredniczenia w środowisku wykonawczym pakietu SDK, musisz wprowadzić pewne zmiany. W tej sekcji omówimy kluczowe elementy przepływów mediacji, aby wyjaśnić zmiany wymagane w przypadku mediatorów i podmiotów korzystających z mediacji.

Opisane przez nas procesy stanowią uproszczoną wersję zapośredniczenia na urządzeniu z użyciem wielu pakietów SDK sieci reklamowych i są podstawą do dyskusji na temat zmian wymaganych do dostosowania procesów zapośredniczenia do środowiska wykonawczego pakietu SDK.

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

  • Inicjowanie (w tym wykrywanie sieci reklamowych i komunikacja)
  • Prezentacja interfejsu reklam

Zdarzenie inicjujące

Poniżej przedstawiamy standardowy proces inicjowania, wykrywania sieci reklamowych i komunikacji:

  1. Aplikacja kliencka inicjuje mediatora
  2. Pośrednik wykrywa i inicjuje odpowiednie podmioty pośredniczone i adaptery.
  3. Pośrednik używa adapterów do komunikacji z każdym podmiotem zapośredniczonym.
  4. Aplikacja kliencka prosi mediatora o wczytanie reklamy
  5. Aplikacja klienta prosi o wyświetlenie tej reklamy.

Prezentacja interfejsu reklam

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

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

Może też ustawić odbiorniki w tym widoku lub automatycznie odświeżyć reklamę (przy użyciu tego samego lub innego podmiotu pośredniczącego).
Pakiet SDK platformy zapośredniczającej wysyła do platformy zapośredniczanej żądanie reklamy pełnoekranowej, która z kolei uruchamia działanie. Wydawca zarządza obsługą i powiększaniem widoku za pomocą komponentów zwracanych przez pakiet SDK do mediacji.

Procesy zapośredniczenia w środowisku wykonawczym SDK

Sposób działania zapośredniczenia w środowisku wykonawczym pakietu SDK różni się w zależności od tego, czy usługa zapośredniczenia jest włączona w środowisku wykonawczym. W związku z tym mogą wystąpić te sytuacje:

  • Zarówno mediator, jak i usługa podlegająca zapośredniczeniu znajdują się w środowisku wykonawczym SDK: usługa podlegająca zapośredniczeniu RE
  • Pośrednik znajduje się w środowisku wykonawczym SDK, a element pośredniczony w aplikacji: element pośredniczony w aplikacji.

RE Mediatee

Ten diagram architektury przedstawia ogólny przegląd interakcji między SDK z włączonym środowiskiem wykonawczym (RE) i SDK z obsługą środowiska wykonawczego (RA) platformy zapośredniczenia, adapterami zapośredniczenia RE i SDK RE podmiotów zapośredniczonych.

Adaptery do zapośredniczenia muszą znajdować się w tym samym procesie co usługa, z którą współpracują, więc też będą musiały zostać przeniesione do środowiska wykonawczego pakietu SDK.

Diagram architektury przedstawiający ogólny przegląd interakcji pakietów SDK mediatora używanych w czasie działania (RE) i wykorzystujących informacje o czasie działania (RA), adapterów zapośredniczenia RE oraz pakietów SDK RE podmiotów zapośredniczonych.
Rysunek 1. Zarówno mediator, jak i podmiot korzystający z mediacji to pakiety SDK RE.

Zdarzenie inicjujące

Podczas inicjowania, wykrywania i komunikacji zarówno w przypadku mediatora, jak i mediowanego komponentu z włączonym środowiskiem wykonawczym proces będzie przebiegać w ten sposób:

  1. Aplikacja (lub pakiet RA SDK) wczytuje i inicjuje pakiet SDK mediatora za pomocą funkcji SdkSandboxManager#loadSdk.
  2. Podczas inicjowania pakiet SDK pośrednika wczytuje i inicjuje w środowisku wykonawczym SDK wszystkie wymagane mediatee za pomocą SdkSandboxController#loadSdk.
  3. Pakiet SDK środowiska wykonawczego może wykryć wszystkie załadowane pakiety SDK w środowisku wykonawczym, wywołując funkcję SdkSandboxController#getSandboxedSdks.
RE - RE mediation sequence diagram showing the flow described previously.
Rysunek 2. Proces inicjowania podmiotu pośredniczącego w przypadku RE.

Prezentacja interfejsu reklam

W sekcji poniżej znajdziesz informacje o wczytywaniu banerów i reklam pełnoekranowych z poziomu pośrednika RE.

RE Mediatee banner ads

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

  1. Pośrednik wybiera zwycięską platformę do wyświetlania reklam w tym przypadku.
  2. Mediator uzyskuje od osoby poddanej mediacji SandboxedUiAdapter.
  3. Pośrednik przekazuje UiAdapter do aplikacji.
Proces renderowania banera reklamowego w zapośredniczeniu RE-RE.
Rysunek 3. Proces renderowania banera reklamowego z poziomu podmiotu zapośredniczonego w RE.

Więcej informacji o używaniu SandboxedUiAdapter i biblioteki interfejsu pakietu SDK Runtime

Nakładki na banery reklamowe

Jeśli platformy mediacyjne chcą dodać nakładkę do reklamy, muszą zmodyfikować proces w ten sposób:

  1. Pośrednik tworzy układ z nakładką i elementem SandboxedSdkView.
  2. Pośrednik wybiera zwycięską platformę do wyświetlania reklam w tym przypadku.
  3. Mediator uzyskuje od osoby poddanej mediacji SandboxedUiAdapter.
  4. Mediator ustawia UiAdapter uczestnika mediacji na SandboxedSdkView.
  5. Pośrednik udostępnia aplikacji wypełniony widok.
Proces nakładania widoku na baner reklamowy uzyskany od pośrednika RE.
Proces nakładania widoku na baner reklamowy uzyskany od pośrednika RE.
RE Mediatee: reklamy pełnoekranowe

Gdy aplikacja wyśle żądanie wczytania reklamy pełnoekranowej, proces przebiega w ten sposób:

  1. Aplikacja (lub pakiet RA SDK) przekazuje do mediatoraSdkActivityLauncher z żądaniem wczytania reklamy.
    1. Klient może ograniczyć tworzenie działań za pomocą predykatu.
  2. Pośrednik wybiera zwycięską platformę do wyświetlania reklam w tym przypadku.
  3. Pośrednik prosi podmiot zapośredniczany o wczytanie reklamy, przekazując mu parametr SdkActivityLauncher z aplikacji.
  4. Usługa pośrednicząca rejestruje moduł obsługi aktywności i otrzymuje token identyfikatora zarejestrowanej aktywności.
  5. Platforma mediacyjna używa tego tokena do wysyłania żądania rozpoczęcia aktywności.SdkActivityLauncher
  6. Jeśli predykat aplikacji klienckiej na to zezwala, środowisko wykonawcze SDK uruchomi tę aktywność w dedykowanym procesie.
Proces wyświetlania pełnoekranowej reklamy w aplikacji za pomocą mediacji z użyciem RE Mediatee.
Rysunek 4. Schemat blokowy ilustrujący sposób wczytywania pełnoekranowej reklamy wyświetlanej przez platformę pośredniczącą z platformy RE Mediatee.

Więcej informacji o obsłudze aktywności w przypadku reklam pełnoekranowych w środowisku wykonawczym pakietu SDK

Mediacja w aplikacji

Na diagramie architektury poniżej przedstawiono ogólny przegląd interakcji pakietów SDK RE i RA platformy pośredniczącej, adapterów zapośredniczenia, które nie mają informacji o środowisku wykonawczym SDK, oraz pakietów SDK podmiotów pośredniczonych statycznie połączonych z aplikacją (również nie mających informacji o środowisku wykonawczym).

Diagram architektury przedstawiający ogólny przegląd interakcji pakietów SDK RE i RA mediatora, adapterów zapośredniczenia, które nie są świadome środowiska wykonawczego SDK, oraz pakietów SDK podmiotów zapośredniczonych statycznie połączonych z aplikacją (również nieświadomych środowiska wykonawczego).
Rysunek 5. Pośrednik jest statycznie połączony z aplikacją, nawet jeśli ma świadomość istnienia pakietu SDK do reklam w aplikacjach.

Zdarzenie inicjujące

W tym scenariuszu podmioty pośredniczące są statycznie połączone z aplikacją i nie zostały jeszcze przeniesione do środowiska wykonawczego SDK, więc pakiet SDK z włączonym środowiskiem wykonawczym powinien mieć proces ich rejestracji.

Rejestracja powinna być dostępna za pomocą interfejsu API platformy mediacyjnej, ale szczegóły implementacji zależą od decyzji każdej platformy mediacyjnej. Ten interfejs API nazywamyMediationSandboxedSdk#registerInAppMediatee.

W przypadku inicjowania, wykrywania i komunikacji pakietu SDK pośrednika RE i pakietów SDK podmiotów zapośredniczonych w aplikacji proces będzie przebiegać w ten sposób:

  1. Aplikacja wczytuje i inicjuje pakiet SDK platformy mediacyjnej, który jest dostosowany do środowiska wykonawczego.
  2. Pakiet SDK RA platformy zapośredniczenia:
    1. Inicjuje pakiet SDK RE pośrednika za pomocą SdkSandboxManager#loadSdk.
    2. Inicjuje wszystkie pakiety SDK do wyświetlania reklam w aplikacji.
    3. Wykrywa i rejestruje pakiety SDK pośredników w aplikacji za pomocą interfejsu API udostępnianego przez pakiet SDK RE, MediationSandboxedSdk#registerInAppMediate.

Oprócz zarejestrowania wszystkich pakietów SDK pośredników w aplikacji pakiet SDK RE pośrednika może wykrywać wszystkie pakiety SDK załadowane w środowisku wykonawczym SDK za pomocą funkcji SdkSandboxController#getSandboxedSdks.

Sekwencja ilustrująca proces inicjowania elementu wyświetlającego reklamy w aplikacji.
Rysunek 6. Pamiętaj, że do rejestrowania odniesienia do podmiotów w aplikacji używamy interfejsu API sugerowanego pośrednika.

Prezentacja interfejsu reklam

W tej sekcji opisujemy wczytywanie banerów i reklam pełnoekranowych z poziomu pośrednika w aplikacji.

Banery reklamowe w aplikacji z mediacją

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

  1. Pakiet SDK platformy zapośredniczającej, który jest zgodny z czasem działania, przekazuje żądanie aplikacji do pakietu SDK zgodnego z czasem działania.
  2. Pakiet SDK do platformy RE pośrednika wybiera odpowiednią platformę.
  3. Pakiet SDK platformy zapośredniczającej pobiera odwołanie do platformy zapośredniczanej i wysyła żądanie wczytania reklamy za pomocą pakietu SDK RA.
  4. Pakiet SDK RA uzyskuje widok z mediatora 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 pełnego renderowania banerów reklamowych z poziomu pośrednika w aplikacji
Rysunek 7. Pamiętaj, że gdy uzyskujesz widok V1 z mediatora w aplikacji, nie powinien on nakładać widoków na V1.
Pełnoekranowe reklamy w aplikacjach

Gdy aplikacja wyśle żądanie wczytania reklamy pełnoekranowej, proces przebiega w ten sposób:

  1. Aplikacja przekazuje do pakietu RA SDK zapośredniczeniaSdkActivityLauncher z żądaniem wczytania reklamy.
    1. Klient może ograniczyć tworzenie działań za pomocą predykatu.
  2. Pakiet SDK RA pośrednika przekazuje żądanie aplikacji do pakietu SDK RE.
  3. Pakiet SDK platformy RE dostawcy zapośredniczenia:
    1. Wybiera odpowiedni element mediacji.
    2. Pobiera odniesienie do elementu multimedialnego w aplikacji.
    3. Żądania wczytania reklamy za pomocą pakietu RA SDK.
  4. Pakiet RA SDK wysyła do zapośredniczonego żądanie wczytania reklamy.
  5. Osoba, która korzysta z mediacji, rozpoczyna aktywność bezpośrednio. Warunek aplikacji nie zostanie uwzględniony.
Proces wczytywania reklam pełnoekranowych, gdy podmiot wyświetlający reklamę znajduje się w procesie aplikacji.
Rysunek 8. Podmiot przetwarzający dane w aplikacji zignoruje predykat.

Angażowanie się i przesyłanie opinii

Piaskownica prywatności na Androidzie to projekt, który jest stale rozwijany. Ten dokument odzwierciedla jego obecną wersję. Twoja opinia jest dla nas bardzo ważna, ponieważ stale rozwijamy i ulepszamy tę funkcję. Zgłoś błąd, aby przesłać opinię.