La médiation est une méthode courante utilisée par les plates-formes publicitaires côté vente pour proposer la gestion du rendement. Dans un workflow de médiation, le SDK de médiation ("médiateur") appelle plusieurs réseaux publicitaires ("médiatisé" ou "médiatisés") pour obtenir la meilleure annonce pour un emplacement donné. Dans certains cas, le médiateur et les réseaux publicitaires qu'il appelle ont besoin que leurs SDK soient sur l'appareil et interagissent.
Ce document décrit les principales modifications apportées aux workflows de médiation dans le SDK Runtime. Il aborde les sujets suivants :
- Différences entre les anciens flux de médiation et la compatibilité actuelle de la médiation avec SDK Runtime
- Configurer des actions pour les workflows de médiation dans le SDK Runtime et les différentes étapes de la transition
- Conseils sur la façon de gérer les scénarios dans lesquels tous les SDK n'ont pas migré vers l'environnement d'exécution
La prise en charge des annonces avec médiation dans le SDK Runtime est disponible à partir d'AGP 8.5 et des versions suivantes des bibliothèques Jetpack du SDK Runtime :
| Bibliothèque Androidx | 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 |
Glossaire
Les termes suivants sont essentiels pour comprendre la médiation dans le SDK Runtime :
- SDK compatible avec l'environnement d'exécution (RE-SDK) : SDK conçu pour s'exécuter dans l'environnement SDK Runtime et communiquer avec l'application via la communication entre processus (IPC).
- SDK compatible avec l'environnement d'exécution : SDK non compatible avec l'environnement d'exécution, associé statiquement à l'application, qui peut contenir votre code SDK existant ainsi que du nouveau code pour appeler votre SDK compatible avec l'environnement d'exécution.
- SDK intégré à l'application : SDK qui s'exécute de manière statique et qui n'a pas connaissance du SDK Runtime. Il peut s'agir d'un réseau publicitaire qui n'est pas passé au SDK Runtime ou d'un adaptateur personnalisé d'un éditeur.
- Médiateur : SDK de médiation d'annonces qui fournit un service de médiation sur l'appareil en interagissant avec d'autres SDK de réseaux publicitaires.
- Mediatee : SDK de réseau publicitaire appelé par le médiateur pour fournir et afficher une annonce.
- Adaptateur de médiation : SDK utilisés par le SDK de médiation pour fournir une traduction de l'interface API afin d'interagir avec différents SDK de médiation, généralement fournis par le médiateur. Elles peuvent être compatibles ou non avec l'exécution.
Flux de médiation typiques
Si votre SDK doit prendre en charge les cas d'utilisation de la médiation dans le SDK Runtime, vous devrez implémenter certaines modifications. Cette section passe en revue les éléments clés des flux de médiation afin que nous puissions aborder les changements requis pour les médiateurs et les médiés.
Les flux que nous décrivons représentent une version simplifiée de la médiation sur l'appareil avec plusieurs SDK de réseaux publicitaires. Ils servent de base pour discuter des modifications nécessaires afin de rendre les parcours de médiation compatibles avec le SDK Runtime.
Étant donné la variété des implémentations de flux de médiation, nous nous concentrons sur les deux principaux flux suivants :
- Initialisation (y compris la découverte des réseaux publicitaires et la communication)
- Présentation de l'interface utilisateur des annonces
Initialisation
Voici un exemple de flux d'initialisation, de découverte de réseau publicitaire et de communication :
- L'application cliente lance le médiateur.
- Le médiateur découvre et initialise les médiatisés et les adaptateurs concernés.
- Le médiateur utilise ses adaptateurs pour communiquer avec chaque médiatisé.
- L'application cliente demande au médiateur de charger une annonce.
- L'application cliente demande au médiateur d'afficher cette annonce.
Présentation de l'UI des annonces
En ce qui concerne l'affichage de l'annonce après la dernière requête de l'étape précédente, le flux dépend du type d'annonce :
| Bannières | Annonces plein écran | Annonces natives |
|---|---|---|
| Le SDK du médiateur crée une vue d'annonce qui encapsule la vue d'annonce du médié gagnant. Il peut également définir des écouteurs sur cette vue ou actualiser automatiquement l'annonce (en utilisant le même médiatee ou un autre). |
Le SDK du médiateur demande une annonce plein écran au médiatisé, qui lance à son tour une activité. | L'éditeur gère la gestion et l'augmentation des vues à l'aide des composants renvoyés par le SDK de médiation. |
Flux de médiation dans le SDK Runtime
Le fonctionnement de la médiation dans le SDK Runtime diffère selon que le médiatisé est compatible avec l'environnement d'exécution ou non. Sur cette base, nous pouvons envisager les scénarios suivants :
- Le médiateur et le médiatisé se trouvent dans le SDK Runtime : médiatisé RE
- Le médiateur se trouve dans le SDK Runtime et le médiatisé dans l'application : médiatisé dans l'application
RE Mediatee
Le diagramme d'architecture suivant présente une vue d'ensemble de l'interaction des SDK compatibles avec l'environnement d'exécution (RE) et compatibles avec l'environnement d'exécution (RA) du médiateur, des adaptateurs de médiation RE et des SDK RE des mediatees.
Les adaptateurs de médiation doivent se trouver dans le même processus que le médiatisé avec lequel ils interagissent. Ils devront donc également migrer vers le SDK Runtime.
Initialisation
Lors de l'initialisation, de la découverte et de la communication du médiateur et du médiatisé compatibles avec l'exécution, le flux suit les étapes suivantes :
- L'application (ou le SDK RA) charge et initialise le SDK du médiateur à l'aide de
SdkSandboxManager#loadSdk. - Lors de son initialisation, le SDK du médiateur charge et initialise tous les médiateurs requis dans SDK Runtime à l'aide de
SdkSandboxController#loadSdk. - Le RE-SDK peut découvrir tous les SDK chargés dans le Runtime en appelant
SdkSandboxController#getSandboxedSdks.
Présentation de l'UI des annonces
La section suivante explique comment charger des bannières et des annonces en plein écran à partir d'un REmediatee.
RE Mediatee banner ads
Voici le processus de rendu d'une bannière publicitaire à la suite d'une demande de l'application :
- Le médiateur sélectionne le médiatisé gagnant pour cette annonce.
- Le médiateur obtient un
SandboxedUiAdapterdu médiatisé. - Le médiateur transmet l'UiAdapter à l'application.
En savoir plus sur l'utilisation de SandboxedUiAdapter et de la bibliothèque d'UI SDK Runtime
Superpositions sur les bannières
Si les médiateurs souhaitent ajouter un overlay à l'annonce, ils doivent modifier le flux comme suit :
- Le médiateur crée une mise en page avec sa superposition et un
SandboxedSdkView. - Le médiateur sélectionne le médiatisé gagnant pour cette annonce.
- Le médiateur obtient un
SandboxedUiAdapterdu médiatisé. - Le médiateur définit le
UiAdapterdu médiatisé surSandboxedSdkView. - Le médiateur partage la vue remplie avec l'application.
RE Mediatee full-screen ads
Lorsqu'une application demande le chargement d'une annonce en plein écran, le processus se déroule comme suit :
- L'application (ou le SDK RA) transmet un
SdkActivityLauncherau médiateur avec la demande de chargement d'une annonce.- Le client peut restreindre la création d'activités à l'aide d'un prédicat.
- Le médiateur sélectionne le médiatisé gagnant pour cette annonce.
- Le médiateur demande au médiatisé de charger une annonce, en transmettant le
SdkActivityLauncherde l'application. - Le médiatee enregistre un gestionnaire d'activité et obtient un jeton d'identifiant pour l'activité enregistrée.
- Le médiateur utilise
SdkActivityLauncherpour demander à démarrer une activité à l'aide de ce jeton. - Si le prédicat de l'application cliente l'autorise, le SDK Runtime démarrera cette activité dans le processus dédié.
Mediatee dans l'application
Le schéma d'architecture suivant présente une vue d'ensemble de l'interaction des SDK RE et RA du médiateur, des adaptateurs de médiation qui ne connaissent pas le SDK Runtime et des SDK des médiés liés statiquement à l'application (également non compatibles avec le SDK Runtime).
Initialisation
Dans ce scénario, les médiatisés étant associés statiquement à l'application et n'ayant pas encore été migrés vers le SDK Runtime, le SDK compatible avec l'environnement d'exécution du médiateur doit disposer d'un processus pour les enregistrer.
Cette inscription doit être accessible à l'aide de l'API du médiateur, mais les détails de l'implémentation sont laissés à la discrétion de chaque médiateur. Nous appelons cette API MediationSandboxedSdk#registerInAppMediatee.
Lors de l'initialisation, de la découverte et de la communication d'un SDK médiateur RE et de SDK médiatisés intégrés à l'application, le flux suivra les étapes suivantes :
- L'application charge et initialise le SDK compatible avec le temps d'exécution du médiateur.
- SDK RA du médiateur :
- Initialise le SDK RE du médiateur à l'aide de
SdkSandboxManager#loadSdk. - Initialise tous les SDK de médiation intégrés.
- Découvre et enregistre les SDK de médiation dans l'application à l'aide de l'API fournie par le SDK RE,
MediationSandboxedSdk#registerInAppMediate.
- Initialise le SDK RE du médiateur à l'aide de
En plus d'avoir tous les SDK de médiation in-app enregistrés, le SDK RE du médiateur peut découvrir tous les SDK chargés dans le SDK Runtime à l'aide de SdkSandboxController#getSandboxedSdks.
Présentation de l'UI des annonces
La section suivante explique comment charger des bannières et des annonces en plein écran à partir d'un médiateur intégré à l'application.
Bannières de médiation dans l'application
Voici le processus de rendu d'une bannière publicitaire à la suite d'une demande de l'application :
- Le SDK compatible avec le runtime du médiateur transmet la requête de l'application à son SDK compatible avec le runtime.
- Le SDK RE du médiateur sélectionne le médiatisé concerné.
- Le SDK RE du médiateur récupère la référence au médiatisé et demande à charger une annonce via le SDK RA.
- Le SDK RA obtient une vue de la partie médiatisée dans l'application.
- Le SDK RA crée un
SandboxedUiAdapterpour la vue qu'il a reçue. - Le SDK RA transmet le
UiAdapterau SDK RE. - Le SDK RE transmet
UiAdapterà l'application.
Annonces plein écran de médiation dans l'application
Lorsqu'une application demande le chargement d'une annonce en plein écran, le processus se déroule comme suit :
- L'application transmet un
SdkActivityLauncherau SDK RA du médiateur avec la demande de chargement d'une annonce.- Le client peut restreindre la création d'activités à l'aide d'un prédicat.
- Le SDK RA du médiateur transmet la requête de l'application à son SDK RE.
- SDK RE du médiateur :
- Sélectionne le médiateur concerné.
- Récupère la référence au médiat dans l'application.
- Demandes de chargement d'une annonce via le SDK RA.
- Le SDK RA demande au médiatisé de charger une annonce.
- Le médiatisé démarre directement l'activité. Le prédicat de l'application ne sera pas respecté.
Interagir et envoyer des commentaires
La Privacy Sandbox sur Android est un projet en cours, et ce document reflète sa conception actuelle. Vos commentaires sont essentiels pour nous aider à continuer à développer et à améliorer ses fonctionnalités. Signalez un bug pour nous faire part de vos commentaires.