Prise en charge de la médiation dans le SDK Runtime

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 :

  1. L'application cliente lance le médiateur.
  2. Le médiateur découvre et initialise les médiatisés et les adaptateurs concernés.
  3. Le médiateur utilise ses adaptateurs pour communiquer avec chaque médiatisé.
  4. L'application cliente demande au médiateur de charger une annonce.
  5. 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.

Schéma d'architecture présentant une vue d'ensemble de haut niveau 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.
Figure 1. Le médiateur et le médiatisé sont des SDK RE.

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 :

  1. L'application (ou le SDK RA) charge et initialise le SDK du médiateur à l'aide de SdkSandboxManager#loadSdk.
  2. 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.
  3. Le RE-SDK peut découvrir tous les SDK chargés dans le Runtime en appelant SdkSandboxController#getSandboxedSdks.
Diagramme de séquence de médiation RE-RE montrant le flux décrit précédemment.
Figure 2 : Flux pour initialiser un médiatisé RE.

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 :

  1. Le médiateur sélectionne le médiatisé gagnant pour cette annonce.
  2. Le médiateur obtient un SandboxedUiAdapter du médiatisé.
  3. Le médiateur transmet l'UiAdapter à l'application.
Processus d'affichage d'une bannière publicitaire dans la médiation RE-RE.
Figure 3 : Processus pour afficher une bannière publicitaire à partir d'un élément à médiation RE.

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 :

  1. Le médiateur crée une mise en page avec sa superposition et un SandboxedSdkView.
  2. Le médiateur sélectionne le médiatisé gagnant pour cette annonce.
  3. Le médiateur obtient un SandboxedUiAdapter du médiatisé.
  4. Le médiateur définit le UiAdapter du médiatisé sur SandboxedSdkView.
  5. Le médiateur partage la vue remplie avec l'application.
Flux permettant de superposer une vue sur une bannière publicitaire obtenue à partir d'un RE Mediatee.
Flux permettant de superposer une vue sur une bannière publicitaire obtenue à partir d'un RE Mediatee.
RE Mediatee full-screen ads

Lorsqu'une application demande le chargement d'une annonce en plein écran, le processus se déroule comme suit :

  1. L'application (ou le SDK RA) transmet un SdkActivityLauncher au médiateur avec la demande de chargement d'une annonce.
    1. Le client peut restreindre la création d'activités à l'aide d'un prédicat.
  2. Le médiateur sélectionne le médiatisé gagnant pour cette annonce.
  3. Le médiateur demande au médiatisé de charger une annonce, en transmettant le SdkActivityLauncher de l'application.
  4. Le médiatee enregistre un gestionnaire d'activité et obtient un jeton d'identifiant pour l'activité enregistrée.
  5. Le médiateur utilise SdkActivityLauncher pour demander à démarrer une activité à l'aide de ce jeton.
  6. Si le prédicat de l'application cliente l'autorise, le SDK Runtime démarrera cette activité dans le processus dédié.
Flux permettant d'afficher une application plein écran avec médiation à partir d'un RE Mediatee.
Figure 4 : Diagramme de flux illustrant comment charger une annonce plein écran avec médiation à partir d'un RE Mediatee.

En savoir plus sur la prise en charge des activités pour les annonces plein écran dans le SDK Runtime

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).

Diagramme d'architecture qui 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).
Figure 5 : Le mediatee est associé de manière statique à l'application, même s'il connaît le SDK RE.

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 :

  1. L'application charge et initialise le SDK compatible avec le temps d'exécution du médiateur.
  2. SDK RA du médiateur :
    1. Initialise le SDK RE du médiateur à l'aide de SdkSandboxManager#loadSdk.
    2. Initialise tous les SDK de médiation intégrés.
    3. Découvre et enregistre les SDK de médiation dans l'application à l'aide de l'API fournie par le SDK RE, MediationSandboxedSdk#registerInAppMediate.

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.

Séquence illustrant le flux décrit pour initialiser une médiathèque intégrée.
Figure 6 : Notez que nous utilisons l'API du médiateur suggéré pour enregistrer la référence aux médiateurs intégrés.

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 :

  1. Le SDK compatible avec le runtime du médiateur transmet la requête de l'application à son SDK compatible avec le runtime.
  2. Le SDK RE du médiateur sélectionne le médiatisé concerné.
  3. 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.
  4. Le SDK RA obtient une vue de la partie médiatisée dans l'application.
  5. Le SDK RA crée un SandboxedUiAdapter pour la vue qu'il a reçue.
  6. Le SDK RA transmet le UiAdapter au SDK RE.
  7. Le SDK RE transmet UiAdapter à l'application.
Processus d'affichage des bannières publicitaires à partir d'un mediatee intégré à une application
Figure 7 : Notez que le médiateur ne doit pas superposer de vues sur V1 lorsqu'il l'obtient d'un médiatisé intégré à 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 :

  1. L'application transmet un SdkActivityLauncher au SDK RA du médiateur avec la demande de chargement d'une annonce.
    1. Le client peut restreindre la création d'activités à l'aide d'un prédicat.
  2. Le SDK RA du médiateur transmet la requête de l'application à son SDK RE.
  3. SDK RE du médiateur :
    1. Sélectionne le médiateur concerné.
    2. Récupère la référence au médiat dans l'application.
    3. Demandes de chargement d'une annonce via le SDK RA.
  4. Le SDK RA demande au médiatisé de charger une annonce.
  5. Le médiatisé démarre directement l'activité. Le prédicat de l'application ne sera pas respecté.
Flux de chargement des annonces en plein écran lorsque le médiateur se trouve dans le processus de l'application.
Figure 8. Le prédicat sera ignoré par le médiatee intégré à l'application.

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.