Présentation de l'API Topics pour mobile

Envoyer un commentaire

À propos de l'API Topics

Dans le domaine de la publicité mobile, les annonceurs souhaitent diffuser des annonces adaptées correspondant aux centres d'intérêt des mobinautes. Par exemple, un passionné de cuisine a plus de chances d'être interpellé par des annonces liées au monde culinaire que par des annonces qui n'ont aucun rapport avec ses centres d'intérêt.

La publicité contextuelle repose uniquement sur les centres d'intérêt dérivés du contenu actuellement consulté (et diffusé à partir de ces informations). L'un des avantages de l'API Topics est qu'elle permet aux applications qui sont utiles pour l'utilisateur, mais qui ne pourraient peut-être pas être facilement monétisées via la publicité contextuelle, de présenter des annonces plus pertinentes à l'utilisateur qu'elles ne le pourraient autrement, ce qui permet de financer les applications dont l'utilisateur se sert.

Par déduction, l'API Topics détermine des signaux précis relatifs aux centres d'intérêt sur l'appareil en fonction de l'utilisation de l'application. Ces signaux, appelés "thèmes", seront partagés avec les annonceurs afin de prendre en charge les signaux contexuels et autres signaux propriétaires sans nécessiter de suivi individuel des utilisateurs dans les applications.

L'API Topics est conçue pour prendre en charge les SDK publicitaires tiers qui fonctionnent généralement dans plusieurs applications. Cela consiste à mettre en évidence certains des intérêts interapplications que ces SDK observent normalement. Les développeurs d'applications ne doivent pas s'attendre à obtenir des informations supplémentaires sur leurs utilisateurs.

Concepts clés

  • Un thème est un sujet d'intérêt compréhensible pour l'utilisateur. Il fait partie de la taxonomie de l'API Topics.
  • Un thème est observé par un appelant (une application ou un SDK tiers utilisé dans l'application) ayant effectué une requête API Topics à partir d'une application associée à ce thème au cours des trois dernières "epochs".
  • Une epoch est une période de calcul thématique, telle qu'une semaine.

Fonctionnement

Avec cette proposition, l'API Topics vise à fournir aux appelants des thèmes publicitaires d'intérêt plus précis en fonction de l'utilisation de l'application par l'utilisateur. Ces thèmes peuvent être utilisés pour compléter les informations contextuelles relatives à l'application qui souhaitent diffuser une annonce. Ils peuvent également être combinés afin d'identifier une annonce appropriée pour l'utilisateur.

Reportez-vous au guide du développeur de l'API Topics pour obtenir des exemples de code qui montrent comment configurer l'extraction des thèmes pour la publicité ciblée par centres d'intérêt. Remarque : les API ne sont pas encore finalisées.

Les thèmes sont sélectionnés à partir d'une taxonomie Open Source prédéfinie.

La plate-forme utilise un modèle de classificateur pour déterminer les thèmes. L'implémentation de l'API Topics et son utilisation du classificateur font partie du projet Open Source Android et s'affinent avec le temps.

À des fins d'illustration, l'exemple de code suivant présente l'utilisation de thèmes pour extraire une annonce ciblée par centres d'intérêt. Les API utilisées ici ne sont pas définitives.

// Initialize the Topics API.
…
topicsFuture = AdvertisingTopicsClient.getTopics();

// Retrieve Topics and use them in Ad request.
Futures.addCallback(
    topicsFuture,
    new FutureCallback<AdvertisingTopicsInfo>() {
        @Override
        public void onSuccess(@Nullable AdvertisingTopicsInfo topicsInfo) {
            // Sanitize Topics result.
            ...
            // Initialize ad request with Topics obtained.
            AdRequest adRequest = AdRequest.initialize(topicsInfo);
        }

        @Override
        public void onFailure(Throwable t) {
            // Handle error.
            ...
        }
});

Pour mieux comprendre le fonctionnement du modèle de classificateur, vous pouvez tester la manière dont différentes données d'application réagissent dans le système à l'aide du colab sur les classificateurs de thèmes Android.

Accéder aux API Topics

Les plates-formes ad tech doivent demander l'accès à l'API Topics. Pour en savoir plus, consultez la section Créer un compte Privacy Sandbox.

Détails

  • Une fois par epoch (une fois par semaine, par exemple), les cinq principaux thèmes de l'utilisateur sont calculés à l'aide des informations disponibles sur l'appareil.

    • Lorsque l'API Topics est appelée, la plate-forme vérifie si un thème est attribué à l'application qui appelle l'API. Si aucun thème n'est attribué, un choix est effectué comme suit et le thème choisi sera attribué à cette application pour le reste de cette epoch.
      • Avec une probabilité de 95 %, un thème est choisi de manière aléatoire dans la liste des cinq principaux thèmes calculés pour cette epoch.
      • Avec une probabilité de 5 %, un thème est choisi de manière aléatoire dans la taxonomie.
      • Un appelant peut spécifier qu'il souhaite récupérer les thèmes sans modifier l'état. Pour ce faire, il peut appeler getTopics à l'aide du paramètre shouldRecordObservation = false. Dans ce cas, les thèmes pourront être renvoyés, mais l'appel ne sera pas inclus dans le calcul hebdomadaire de l'epoch, et la liste des thèmes observés pour l'appelant ne sera pas mise à jour.
    • Chaque application se voit attribuer un thème distinct dans le but d'empêcher la mise en corrélation des différents thèmes avec le même utilisateur d'une application à une autre.
      • Par exemple, l'application A peut voir le thème T1 pour l'utilisateur, tandis que l'application B peut voir le thème T2. De cette façon, les deux applications peuvent difficilement identifier que ces informations sont associées au même utilisateur.
  • L'API Topics renvoie une liste comportant jusqu'à trois thèmes, un pour chacune des trois epochs précédentes.

    • Si vous fournissez jusqu'à trois thèmes, les applications peu utilisées auront suffisamment de thèmes pour trouver des annonces adaptées. Cependant, les applications que vous utilisez fréquemment identifieront au maximum un nouveau thème par semaine.
    • Les informations sur le thème renvoyé incluent un identifiant (nombre entier) correspondant à une entrée de la taxonomie, une version de taxonomie et une version de modèle de classificateur.
    • Seuls les appelants ayant observé l'utilisateur se servir d'une application associée au thème en question au cours des trois dernières epochs pourront recevoir ce thème.
    • Tous les thèmes renvoyés représentent les centres d'intérêt de l'utilisateur. Vous pouvez les sélectionner dans leur totalité ou en partie pour la personnalisation des annonces dans votre demande d'annonce.
  • Une fois qu'un thème est attribué à l'application qui appelle l'API Topics, la plate-forme détermine si l'appelant peut le recevoir.

    • Seuls les appelants ayant observé l'engagement utilisateur sur une application associée au thème en question au cours des trois dernières epochs peuvent recevoir ce thème.
    • Si l'appelant n'a encore jamais appelé l'API pour cet utilisateur dans une application à propos de ce thème, ce dernier ne sera pas inclus dans la liste renvoyée par l'API.
    • Si l'appelant n'a reçu aucun thème au cours des trois dernières epochs, l'API Topics renvoie une liste vide.

    Imaginons que sept applications soient installées sur l'appareil de l'utilisateur : A, B, C, D, E, F et G. Supposons que la classification des thèmes pour l'application et les SDK de technologie publicitaire dans ces applications soit la suivante:

    Pour applications Classification des thèmes SDK de technologie publicitaire
    A T1/T5 ad-sdk1, ad-sdk2
    B T2 SDK publicitaire2
    C T3/T6 ad-sdk3, ad-sdk4
    D T1/T4 SDK publicitaire1
    E T5 ad-sdk4, ad-sdk5
    F T6 ad-sdk2, ad-sdk3, ad-sdk4
    G T7 SDK publicitaire2
    • Fin de la semaine 1 : l'API Topics génère les cinq principaux thèmes de l'utilisateur pour cette epoch.
    Thème principal Appelants qui peuvent se renseigner sur le sujet
    T1 ad-sdk1, ad-sdk2
    T2 SDK publicitaire2
    T3 ad-sdk3, ad-sdk4
    T4 SDK publicitaire1
    T5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5
    • Au cours de la deuxième semaine, si un appelant au niveau d'une application appelle l'API, la liste des thèmes renvoyés n'inclura que ceux pour lesquels l'appelant figure dans la colonne "Appelants qui peuvent se renseigner sur le sujet" correspondant à ce thème pour cette application et pour cette epoch.
    • La période d'historique prise en compte dans le calcul des thèmes disponibles pour chaque appelant est de trois epochs (ou trois semaines).
    • Seuls les thèmes associés à des applications qui appellent l'API Topics via des SDK publicitaires sont utilisés. Cela signifie que si une application n'inclut aucun SDK publicitaire qui appelle l'API Topics, les thèmes associés à cette application ne contribuent pas au pool de thèmes accessibles par les SDK publicitaires.
    • Une application peut également désactiver l'API Topics de manière déclarative via de nouveaux éléments manifestes et XML, afin d'empêcher les SDK publicitaires d'utiliser l'API pour cette application. Les thèmes associés aux applications désactivées ne sont pas pris en compte dans le calcul hebdomadaire des thèmes. Ce document sera mis à jour pour inclure les détails d'implémentation associés.
  • Si l'utilisation des applications est insuffisante pour que la plate-forme puisse déterminer cinq thèmes, elle peut envisager des options telles que la génération aléatoire de thèmes restants.

Taxonomie

  • Dans la proposition actuelle, la taxonomie initiale comprend entre quelques centaines et quelques milliers de thèmes. La proposition de taxonomie initiale sera partagée dans une prochaine mise à jour de ce document.
  • Cette taxonomie sera définie manuellement afin que les thèmes sensibles en soient exclus.
  • Elle sera adaptée aux catégories d'annonces qui peuvent être diffusées dans les applications mobiles Android.
  • La taxonomie est accessible au public et est susceptible d'être modifiée. Vous pouvez envoyer des suggestions à l'aide du bouton "Commentaires" situé en haut de cette page.

Classificateur de thèmes

Les thèmes d'intérêt sont issus d'un modèle de classificateur entraîné à partir d'informations accessibles à tous sur l'application (telles que son nom, sa description et le nom de son package).

  • Lorsque le modèle de classificateur est exploité à des fins d'inférence pour calculer les thèmes pour une epoch donnée, l'ensemble de signaux utilisés reste sur l'appareil. Cet ensemble de signaux peut inclure des applications installées ou récemment utilisées. Il pourra être étendu par la suite pour inclure d'autres signaux.
  • Les modèles initiaux seront entraînés par Google. Les données d'entraînement comprendront des libellés définis manuellement pour les informations d'applications accessibles à tous. Le modèle sera disponible sans frais pour que les applications puissent le tester et déterminer les thèmes adaptés pour leur application.
  • Les modèles initiaux seront entraînés à l'aide d'informations accessibles à tous sur les applications, informations issues d'un ensemble limité de plates-formes de téléchargement d'applications, comme le Google Play Store.
  • Il est possible qu'une application soit associée à plusieurs thèmes, à aucun thème ou qu'elle n'ajoute aucun thème à l'historique de l'utilisateur. Si une application correspond à plusieurs thèmes dans la taxonomie, le nombre de thèmes choisis pour cette application est limité aux trois premiers.

Contrôle utilisateur

  • La conception vise à fournir aux utilisateurs la possibilité d'afficher et de supprimer les thèmes associés à l'utilisation de l'application. La mise en œuvre de cette fonctionnalité de contrôle utilisateur est en cours d'élaboration et sera incluse dans une prochaine mise à jour.
  • Si l'utilisateur désinstalle une application qui a contribué à la sélection d'un thème déterminé au cours des trois dernières epochs, ce thème ne sera pas supprimé de la liste des thèmes renvoyés pour les trois dernières epochs, afin d'éviter de divulguer des informations sur la désinstallation.

Pour faciliter le test de l'expérience utilisateur, vous pouvez également lancer un intent in-app afin d'afficher l'interface utilisateur correspondant aux paramètres de l'API Topics de la même manière qu'un utilisateur final. Voici un exemple de cet appel :

//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";


//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLaunchSettingsAppButton() {
    mSettingsAppButton.setOnClickListener(
        new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Context context = getApplicationContext();
                Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
                activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(activity2Intent);
            }
        });
}

Inscrire une plate-forme de technologie publicitaire

Pour accéder à l'API Topics, toutes les plates-formes de technologie publicitaire (y compris celles de Google) doivent suivre un processus d'inscription.

Les développeurs d'applications peuvent gérer les développeurs de technologie publicitaire autorisés à accéder aux API Topics en incluant leur ID d'enregistrement dans le fichier manifeste de l'application.

Chiffrement des thèmes renvoyés

Les plates-formes de technologie publicitaire enregistrées qui appellent l'API Topics doivent également fournir des clés de chiffrement pour garantir que les sujets renvoyés ne sont lisibles que par l'appelant.

La Privacy Sandbox récupérera ces clés à partir du point de terminaison fourni par la technologie publicitaire. Nous vous recommandons de mettre à jour les clés régulièrement, au plus tard tous les six mois.

La Privacy Sandbox demandera aux technologies publicitaires de confirmer la disponibilité du point de terminaison fourni par la technologie publicitaire lors du processus d'enregistrement. Pour en savoir plus sur l'action requise par les technologies publicitaires actuelles et nouvellement enregistrées, consultez le guide du développeur sur l'inscription.

Détails du chiffrement

Avec l'introduction du chiffrement, les appels à "GetTopics()" génèrent désormais une réponse avec une liste d'objets "EncryptedTopic". Si vous déchiffrez ces résultats, vous obtiendrez un objet au format JSON de l'objet Topic précédent.

L'API Topics est compatible avec l'implémentation en un clic du chiffrement HPKE (Hybrid Public Key Encryption). L'appelant enregistré devrait héberger une clé publique de 32 bits sur le point de terminaison de l'URL de chiffrement publique fourni lors de l'enregistrement. Ces clés doivent être encodées en base64.

EncryptedTopic comportent trois champs. La liste des sujets renvoyés peut être obtenue en utilisant la clé privée correspondante de la clé publique.

À des fins de développement, vous pouvez tester le chiffrement de l'API Topics en désactivant la vérification d'enregistrement. Cela obligerait l'API à utiliser la clé publique de test pour chiffrer vos réponses. Vous pouvez déchiffrer les sujets chiffrés à l'aide de la clé privée correspondante.