Die Vermittlung ist eine gängige Methode für Anzeigenplattformen auf Verkäuferseite, um die Ertragsverwaltung anzubieten. In einem Vermittlungsworkflow ruft das Vermittlungs-SDK (Mediator) mehrere Werbenetzwerke (Mediatee oder Mediatees) auf, um die beste Anzeige für einen bestimmten Slot zu erhalten. In einigen Fällen müssen sowohl der Mediator als auch die von ihm aufgerufenen Werbenetzwerke ihre SDKs auf dem Gerät haben und miteinander interagieren.
In diesem Dokument werden die wichtigsten Änderungen an den Vermittlungsworkflows in der SDK-Laufzeit beschrieben. Es deckt folgende Themenbereiche ab:
- Unterschiede zwischen früheren Vermittlungsabläufen und der aktuellen SDK-Laufzeit-Vermittlung
- Aktionen für Vermittlungsworkflows in der SDK-Laufzeit und die verschiedenen Phasen der Umstellung einrichten
- Anleitung für Szenarien, in denen nicht alle SDKs zur Runtime migriert wurden
Die Unterstützung für vermittelte Anzeigen in der SDK-Laufzeit ist ab AGP 8.5 und in den folgenden Versionen der SDK-Laufzeit-Jetpack-Bibliotheken verfügbar:
Androidx-Bibliothek | Version |
---|---|
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 |
Glossar
Die folgenden Begriffe sind wichtig für das Verständnis der Vermittlung in der SDK-Laufzeit:
- Laufzeitfähiges SDK (Runtime-enabled SDK, RE SDK): Ein SDK, das in der SDK Runtime-Umgebung ausgeführt wird und über die interprozedurale Kommunikation (Inter-Process Communication, IPC) mit der App kommuniziert.
- Laufzeitbewusstes SDK (Runtime-Aware SDK, RA SDK): Ein nicht laufzeitfähiges SDK, das statisch mit der App verknüpft ist und Ihren vorhandenen SDK-Code sowie neuen Code enthalten kann, der in Ihr laufzeitfähiges SDK aufgerufen wird.
- In-App-SDK:Ein SDK, das statisch mit der App verknüpft ausgeführt wird und die SDK-Laufzeit nicht kennt. Das kann ein Anzeigennetzwerk sein, das noch nicht auf die SDK-Laufzeit umgestellt hat, oder der benutzerdefinierte Adapter eines Publishers.
- Vermittlungsdienstleister: SDK für die Anzeigenbereitstellung, das einen Vermittlungsdienst auf dem Gerät bereitstellt, indem es mit anderen SDKs von Werbenetzwerken interagiert.
- Mediatee:SDK des Werbenetzwerks, das vom Mediator aufgerufen wird, um eine Anzeige bereitzustellen und zu rendern.
- Vermittlungsadapter: SDKs, die vom Mediator SDK verwendet werden, um eine API-Schnittstellenübersetzung für die Interkonnektivität mit verschiedenen SDKs von vermittelten Publishern bereitzustellen. Sie werden in der Regel vom Vermittler bereitgestellt. Diese können laufzeitabhängig oder laufzeitunabhängig sein.
Typische Vermittlungsabläufe
Wenn Ihr SDK Vermittlungsfälle in der SDK-Laufzeit unterstützen muss, müssen Sie einige Änderungen implementieren. In diesem Abschnitt werden die wichtigsten Elemente von Vermittlungsabläufen beschrieben, damit wir die erforderlichen Änderungen für Vermittler und vermittelte Nutzer angehen können.
Die beschriebenen Abläufe stellen eine vereinfachte Version der On-Device-Vermittlung mit mehreren SDKs von Werbenetzwerken dar und dienen als Grundlage für die Diskussion über die erforderlichen Änderungen, um Vermittlungsabläufe mit der SDK-Laufzeit kompatibel zu machen.
Aufgrund der unterschiedlichen Implementierungen von Vermittlungsabläufen konzentrieren wir uns auf die folgenden beiden Hauptabläufe:
- Initialisierung (einschließlich Erkennen von Werbenetzwerken und Kommunikation)
- Präsentation der Benutzeroberfläche von Anzeigen
Initialisierung
Im Folgenden wird eine Standardinitialisierung, die Erkennung von Werbenetzwerken und der Kommunikationsablauf dargestellt:
- Die Client-App initiiert den Mediator
- Der Mediator erkennt und initialisiert die relevanten Mediaten und Adapter.
- Der Vermittler verwendet seine Adapter, um mit den einzelnen vermittelten Publishern zu kommunizieren.
- Die Client-App fordert den Mediator auf, eine Anzeige zu laden.
- Die Client-App fordert den Vermittler auf, diese Anzeige zu schalten.
Präsentation der Anzeigen-UI
Wie die Anzeige nach der letzten Anfrage im vorherigen Schritt gerendert wird, hängt von der Art der Anzeige ab:
Banneranzeigen | Vollbildanzeigen | Native Anzeigen |
---|---|---|
Das Mediator-SDK erstellt eine Anzeigenansicht, die die Anzeigenansicht des ausgewählten Mediators umschließt. Es kann auch Listener für diese Datenansicht festlegen oder die Anzeige automatisch aktualisieren (mit demselben oder einem anderen Mediator). |
Das Mediator-SDK fordert vom vermittelten Publisher eine Full-Screen-Anzeige an, die wiederum eine Aktivität startet. | Der Publisher verwaltet die Ansichtsverwaltung und -aufblähung mithilfe von Komponenten, die vom Mediator-SDK zurückgegeben werden. |
Vermittlungsabläufe in der SDK-Laufzeit
Die Funktionsweise der Vermittlung innerhalb der SDK-Laufzeit unterscheidet sich je nachdem, ob der vermittelte Publisher die Laufzeit aktiviert hat oder nicht. Daraus ergeben sich die folgenden Szenarien:
- Sowohl der Vermittler als auch das vermittelte Element befinden sich in der SDK-Laufzeit: RE mediatee
- Der Mediator befindet sich in der SDK-Laufzeit und der Mediatee ist in der App: In-App-Mediatee
RE Mediatee
Das folgende Architekturdiagramm bietet einen allgemeinen Überblick über die Interaktion der runtime-fähigen (RE) und runtime-orientierten (RA) SDKs des Vermittlers, der RE-Vermittlungsadapter und der RE-SDKs der vermittelten Publisher.
Vermittlungsadapter müssen sich im selben Prozess wie der vermittelte Publisher befinden, mit dem sie verbunden sind. Daher müssen sie auch zur SDK-Laufzeit migriert werden.
Initialisierung
Bei der Initialisierung, Erkennung und Kommunikation sowohl des runtime-fähigen Mediators als auch des Mediaten erfolgt der Ablauf in folgenden Schritten:
- Die App (oder das RA SDK) lädt und initialisiert das Mediator SDK mit
SdkSandboxManager#loadSdk
. - Während der Initialisierung lädt und initialisiert das Mediator-SDK alle erforderlichen Mediatoren in der SDK-Laufzeit mit
SdkSandboxController#loadSdk
. - Das RE SDK kann alle geladenen SDKs in der Laufzeit ermitteln, indem es
SdkSandboxController#getSandboxedSdks
aufruft.
Präsentation der Anzeigen-UI
Im folgenden Abschnitt wird beschrieben, wie Banner und Vollbildanzeigen aus einem RE-Media-Element geladen werden.
RE Mediatee-Banneranzeigen
Wenn die App eine Banneranzeige lädt, erfolgt das Rendering so:
- Der Vermittler wählt den Gewinner für diese Anzeige aus.
- Der Mediator erhält eine
SandboxedUiAdapter
vom Mediaten. - Der Mediator leitet den UiAdapter an die App weiter.
Weitere Informationen zur Verwendung von SandboxedUiAdapter
und der SDK Runtime UI Library
Overlays für Banneranzeigen
Wenn Vermittler der Anzeige ein Overlay hinzufügen möchten, müssen sie den Ablauf so ändern:
- Der Mediator erstellt ein Layout mit einem Overlay und einem
SandboxedSdkView
. - Der Vermittler wählt den Gewinner für diese Anzeige aus.
- Der Mediator erhält eine
SandboxedUiAdapter
vom Mediaten. - Der Vermittler setzt die
UiAdapter
des Vermittelten auf dieSandboxedSdkView
. - Der Mediator gibt die ausgefüllte Ansicht für die App frei.
RE Mediatee-Vollbildanzeigen
Wenn die App eine Vollbildanzeige lädt, erfolgt der Ablauf so:
- Die App (oder das RA SDK) übergibt dem Vermittler die
SdkActivityLauncher
mit der Aufforderung, eine Anzeige zu laden.- Der Kunde kann die Erstellung von Aktivitäten mithilfe eines Prädikats einschränken.
- Der Vermittler wählt den Gewinner für diese Anzeige aus.
- Der Vermittler fordert den Vermittelten auf, eine Anzeige zu laden, und gibt dabei die
SdkActivityLauncher
aus der App weiter. - Der Vermittler registriert einen Aktivitäts-Handler und erhält ein Kennungstoken für die registrierte Aktivität.
- Der Vermittler verwendet
SdkActivityLauncher
, um den Start einer Aktivität mit diesem Token anzufordern. - Wenn das Prädikat der Client-App dies zulässt, startet die SDK-Laufzeit diese Aktivität im entsprechenden Prozess.
Weitere Informationen zur Aktivitätsunterstützung für Vollbildanzeigen in der SDK-Laufzeit
In-App-Mediatee
Das folgende Architekturdiagramm bietet einen allgemeinen Überblick über die Interaktion der RE- und RA-SDKs des Vermittlers, der Vermittlungsadapter, die die SDK-Laufzeit nicht kennen, und der SDKs der vermittelten Publisher, die statisch mit der App verknüpft sind (auch ohne Laufzeitinformationen).
Initialisierung
Da in diesem Szenario die vermittelten Produkte statisch mit der App verknüpft und noch nicht zur SDK-Laufzeit migriert sind, sollte das runtimefähige SDK des Vermittlers einen Prozess zur Registrierung dieser Produkte haben.
Diese Registrierung sollte über die API des Vermittlers zugänglich sein. Die Implementierungsdetails liegen im Ermessen des jeweiligen Vermittlers. Diese API wird als MediationSandboxedSdk#registerInAppMediatee
bezeichnet.
Bei der Initialisierung, Suche und Kommunikation eines RE-Mediator SDKs und In-App-Mediatee SDKs gehen Sie so vor:
- Die App lädt und initialisiert das runtime-aware SDK des Mediators.
- RA SDK des Vermittlers:
- Initialisiert das RE SDK des Vermittlers mit
SdkSandboxManager#loadSdk
. - Initialisiert alle In-App-Mediated-SDKs.
- Er erkennt und registriert die In-App-Mediation-SDKs mithilfe der API, die vom RE SDK
MediationSandboxedSdk#registerInAppMediate
bereitgestellt wird.
- Initialisiert das RE SDK des Vermittlers mit
Neben der Registrierung aller In-App-Mediated SDKs kann das RE SDK des Vermittlers alle SDKs erkennen, die mit SdkSandboxController#getSandboxedSdks
in der SDK Runtime geladen werden.
Präsentation der Anzeigen-UI
Im folgenden Abschnitt erfahren Sie, wie Sie Banner und Vollbildanzeigen aus einem In-App-Media-Tee laden.
In-App-gemittelte Banneranzeigen
Wenn die App eine Banneranzeige lädt, erfolgt das Rendering so:
- Das runtime-fähige SDK des Vermittlers leitet die Anfrage der App an sein runtime-fähiges SDK weiter.
- Der Mediator wählt mit seinem RE SDK den entsprechenden Mediaten aus.
- Das RE SDK des Vermittlers ruft die Referenz auf den vermittelten Publisher ab und fordert das Laden einer Anzeige über das RA SDK an.
- Das RA SDK ruft eine Datenansicht vom In-App-Vermittlungspartner ab.
- Das RA SDK erstellt eine
SandboxedUiAdapter
für die empfangene Ansicht. - Das RA SDK leitet die
UiAdapter
an das RE SDK weiter. - Das RE SDK leitet die
UiAdapter
an die App weiter.
In-App-gemittelte Vollbildanzeigen
Wenn die App eine Vollbildanzeige lädt, erfolgt der Ablauf so:
- Die App übergibt dem RA SDK des Vermittlers die Zeichenfolge
SdkActivityLauncher
mit der Aufforderung, eine Anzeige zu laden.- Der Kunde kann die Erstellung von Aktivitäten mithilfe eines Prädikats einschränken.
- Das RA-SDK des Vermittlers leitet die Anfrage der App an sein RE-SDK weiter.
- RE SDK des Vermittlers:
- Wählt die entsprechende Person aus, die vermittelt werden soll.
- Ruft die Referenz auf den In-App-Mediator ab.
- Anfragen zum Laden einer Anzeige über das RA SDK.
- Das RA SDK fordert den vermittelten Publisher auf, eine Anzeige zu laden.
- Der Teilnehmer startet die Aktivität direkt. Das Prädikat der App wird nicht berücksichtigt.
Mit Nutzern interagieren und Feedback geben
Die Privacy Sandbox für Android ist ein fortlaufendes Projekt. Dieses Dokument spiegelt das aktuelle Design wider. Ihr Feedback ist uns wichtig, damit wir die Funktionen weiter entwickeln und verbessern können. Melden Sie einen Fehler, um Feedback zu geben.