La version bêta de la Privacy Sandbox sur Android Bêta est disponible ! Découvrez comment faire vos premiers pas et continuez à envoyer des commentaires.

Filtrage des annonces incitant à installer une application

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les nouvelles installations d'applications mobiles sont souvent dues aux annonces incitant à installer une application. Pour maximiser le ROI de vos dépenses publicitaires, nous vous recommandons de ne pas diffuser d'annonce incitant à installer une application sur les appareils où cette application est déjà installée. Dans cette proposition, nous appelons cette pratique "filtrage des annonces incitant à installer une application".

Cette proposition explique comment FLEDGE sur Android prend en charge le filtrage des annonces contextuelles, en particulier le filtrage des annonces incitant à installer une application, tout en préservant la confidentialité. Pour y participer, l'application doit explicitement activer le filtrage des annonces incitant à installer une application. Lors de la sélection des annonces, les annonces candidates seront filtrées en fonction de la liste des applications installées sur l'appareil connu par l'AdTech. Cette liste n'est visible que dans le flux de sélection des annonces. Elle repose sur la plate-forme côté achat pour indiquer qu'une annonce spécifique doit être filtrée en fonction de la présence d'une application sur l'appareil.

Pour configurer le filtrage des annonces incitant à installer une application, procédez comme suit.

Étape 1 : Enregistrez l'application pour le filtrage des annonces incitant à installer une application

Pour activer le filtrage des annonces incitant à installer une application, le développeur appelle l'API d'enregistrement des applications registerForAdFiltering à partir de son application, ou d'un SDK publicitaire, avec la liste eTLD+1 des acheteurs AdTech. Cela permet aux acheteurs de la liste, et uniquement à ces acheteurs, de filtrer les annonces en fonction de l'état d'installation de l'application, directement ou via le SDK de AdTech. L'enregistrement permet au développeur de l'application de contrôler totalement si son application doit participer ou non au filtrage des annonces incitant à installer une application.

void registerForAdFiltering(List<AdTechIdentifier> buyers);

Étape 2 : Demandez à filtrer les annonces incitant à installer une application

Lorsqu'une annonce est examinée pour les enchères, les acheteurs peuvent choisir de la filtrer pour qu'elle soit filtrée en fonction de l'état d'installation de l'application. Pour ce faire, incluez le nom de package de l'application dans les métadonnées de l'annonce. La demande de filtrage des annonces incitant à installer une application fait partie des données relatives aux annonces transmises au processus d'enchères FLEDGE. Ces données sont créées différemment selon qu'il s'agit d'une annonce contextuelle ou de remarketing.

  • Pour les annonces contextuelles, le principal cas d'utilisation pour le filtrage des annonces incitant à installer une application, les informations de filtrage sont incluses dans les données relatives aux annonces que les acheteurs peuvent fournir aux vendeurs lorsqu'ils répondent à une enchère contextuelle en dehors de FLEDGE. FLEDGE s'attend à ce que ces informations de filtrage soient renvoyées dans la réponse contextuelle, comme toutes les autres métadonnées spécifiques aux annonces.

  • Pour le cas d'utilisation des annonces de remarketing, FLEDGE s'attend à ce que vous incluiez les informations de filtrage dans l'audience personnalisée. Vous pouvez choisir de le faire lorsque vous rejoignez l'audience et lorsque vous récupérez de nouvelles données d'audience dans le cadre du processus de mise à jour de l'audience.

La demande de filtrage des annonces incitant à installer une application doit se présenter comme suit dans l'objet JSON AdData :

{
  "render_uri": "https://..",
  "metadata": {..},
  "filters": {
    "app_install": {
       "app_package_names": ["app1.package", "app2.package"]
    }
  }
}

Remarque : Vous pouvez filtrer les annonces incitant à installer une application pour plusieurs applications à la fois. Pour ce faire, listez simplement tous les noms de packages d'applications à évaluer. Si l'UN des packages figure dans la liste d'installations d'applications, l'annonce est filtrée.

Nous étudions actuellement des moyens d'activer le chiffrement et/ou la signature des informations sur les annonces contextuelles. Nous souhaiterions recueillir vos commentaires à ce sujet.

Étape 3 : Filtrez les annonces incitant à installer une application pendant la sélection des annonces

Lors d'une demande d'annonce, l'acheteur peut transmettre plusieurs annonces au vendeur avec des informations de filtrage afin que les annonces pour les applications installées puissent être filtrées. Le côté vente est nécessaire pour transmettre les informations de filtrage dans le champ adData de la configuration de la fonction selectAds. Un format de message semblable à celui ci-dessous sera attendu par Android. Notez que pour les annonces contextuelles, les données relatives aux annonces sont transmises à la fonction, car elles ne se trouvent pas déjà sur l'appareil, contrairement aux annonces de remarketing pour lesquelles ces données sont basées sur des audiences personnalisées.

AdData myAdData = new AdData.Builder()
        .setRenderUri(Uri.parse("https://.."))
        .setMetadata("{...}")
        .setFilters(new AdFilters.Builder()
                .setAppInstalledFilter(new AppInstalledFilter.Builder()
                    .setPackageNames(ImmutableList.of("app1.package", "app2.package"))
                    .build())
                .build())
        .build();

AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig.Builder()
    .setSeller(AdTechIdentifier.fromString("example-ssp1.com"))
    .setDecisionLogicUri(Uri.parse("https://..."))
    ...
    .setContextualAds(ImmutableList.of(new ContextualAd.Builder()
                      .setBuyer(AdTechIdentifier.fromString("example.com"))
                      .setReportingUri("https://example.com/reporting")
                      .setBid(20)
                      // myAdData could be taken from the JSON above
                      .setAd(myAdData)
                      .build()))
    .build();

// Invoke ad services API to initiate ad selection workflow.
selectAds(myAdSelectionConfig);

Le filtrage est traité dans l'API selectAds. FLEDGE filtre l'annonce si l'application spécifiée dans le message correspond à l'application figurant dans la liste d'installations d'applications spécifique des acheteurs AdTech. Deux résultats sont possibles :

  • L'application ne figure pas dans cette liste. Elle n'est donc pas installée ni ouverte.
  • L'application figure dans cette liste. Elle est donc installée et ouverte.

Si FLEDGE détecte qu'une application est déjà présente, l'annonce est exclue de la liste des annonces sur lesquelles la mise aux enchères utilise scoreAds.

Remarques concernant les annonces contextuelles

Avec le filtrage des annonces incitant à installer une application, les API FLEDGE deviennent compatibles avec le filtrage des annonces contextuelles. Il est important de spécifier quelques points pour les cas où l'enchère est une combinaison d'annonces contextuelles et de remarketing, ou se compose seulement d'annonces contextuelles.

  • Lors d'une mise aux enchères selectAd, l'acheteur a la possibilité de transmettre une liste d'objets ContextualAd. Ces objets contiennent l'eTLD+1 de l'acheteur d'annonces, l'enchère pour l'annonce, une URL renvoyant vers la logique de création de rapports de l'annonce et l'AdData contenant l'URL du contenu de l'annonce. Notez que le format AdData est utilisé à la fois dans les annonces contextuelles et celles de remarketing.

  • Au début du processus d'enchères, les annonces contextuelles et de remarketing seront filtrées en fonction de l'application répertoriée qu'elles peuvent voir. Les valeurs d'enchères sont ensuite définies pour les annonces de remarketing, et les annonces contextuelles et de remarketing sont évaluées à l'aide de la fonction scoreAds fournie. L'annonce avec le score le plus élevé remporte l'enchère. Notez que ce processus fonctionne même si aucune annonce de remarketing n'est présente.

  • Si une annonce contextuelle remporte l'enchère et que le rapport sur les impressions est déclenché par l'application, FLEDGE télécharge et exécute une fonction JS nommée reportWin() à partir de l'URL du rapport incluse dans les données relatives à l'annonce contextuelle. Le processus de création de rapports est le même que pour une annonce de remarketing qui remporte la mise aux enchères.

    Exemple de fonction de rapports JavaScript :

    function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer,
    contextual_signals) {
    let reporting_address = 'https://reporting.example.com';
    return {'status': 0, 'results': {'reporting_uri':
         reporting_address + '?some_signal=' + per_buyer_signals.some_signal} };
    }