Implémentation d'AFS pour les applications mobiles (AFSMA) pour Android

Prérequis

Dans ce guide d'implémentation, nous partons du principe que vous connaissez bien les éléments suivants:

Classes

Pour diffuser des annonces AFSMA (également appelées annonces sur le Réseau de Recherche à hauteur dynamique) dans votre application : implémenter les classes suivantes:

SearchAdView

  • Cette classe hérite de la classe Android ViewGroup. et diffuse les annonces AFSMA. Le SearchAdView effectue la demande d'annonce avec un DynamicHeightSearchAdRequest et affiche les annonces renvoyées. Le SearchAdView doit être ajouté à l'un des groupes de vues de l'application.
  • SearchAdView doit être instancié avec le contexte. dans lequel SearchAdView s'exécute, généralement un Activity.
  • Une fois l'élément SearchAdView instancié, vous devez appeler la méthode setAdSize(). avec AdSize.SEARCH pour demander des annonces AFSMA. Les autres valeurs d'énumération comporteront des demandes d'annonces non compatibles avec APR pour les applications mobiles.
  • Appelez la méthode setAdUnitId() sur cet objet avec votre code de propriété.

DynamicHeightSearchAdRequest.Builder

  • Cette classe encapsule les paramètres de demande d'annonce. Ceci est similaire à la définition de paramètres dans les objets d'appel d'annonce JavaScript. (options de page, options de bloc) pour le Web mobile et pour ordinateur d'APR.
  • Définissez les paramètres avec les setters appropriés (en d'autres termes, appelez setQuery() pour définir le paramètre de requête).

Exemple d'implémentation

L'exemple ci-dessous montre comment utiliser un Activity pour créer un SearchAdView. en tant que sous-vue d'un ViewGroup. Pour demander correctement des annonces AFSMA, le SearchAdView doit appeler la méthode setAdSize() avec AdSize.SEARCH.

//  MainActivity.java implementation
//  (MainActivity is a subclass of Activity)

// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);

// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!

// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");

// Add searchAdView to parent view group
...

Dans le même Activity, créez un DynamicHeightSearchAdRequest.Builder qui détermine les paramètres de l'annonce qui sera affichée dans SearchAdView. Les annonces AFSMA sont configurées de la même manière que les annonces AdSense pour les recherches personnalisées. consultez les annonces pour les recherches personnalisées Référence pour en savoir plus.

// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
        new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);

// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");

// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);

D'autres options de personnalisation sont possibles en définissant des propriétés supplémentaires sur la DynamicHeightSearchAdRequest.Builder .

Pour effectuer une demande d'annonce, appelez la méthode loadAd() avec la DynamicHeightSearchAdRequest.Builder de l'objet SearchAdView:

searchAdView.loadAd(builder.build());

Options avancées

La plupart des paramètres de demande d'annonce peuvent être définis via des méthodes setter. sur l'objet DynamicHeightSearchAdRequest.Builder. Tous les paramètres qui n'ont pas de méthode setter dans DynamicHeightSearchAdRequest.Builder peut être défini à l'aide de paires clé/valeur setAdvancedOptionValue() . Voir les annonces APR pour les recherches personnalisées Référence pour obtenir la liste complète des paramètres pouvant être définis à l'aide du setAdvancedOptionValue().

Le paramètre de clé doit être précédé de "csa_". pour que la propriété soit correctement définie.

// Advanced customization options (set using key-value pair)

// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");

// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");

Si vous utilisez la méthode setter d'un paramètre et la définissez à l'aide de setAdvancedOptionValue, le second appel remplacera la valeur du premier appel.

Examiner les erreurs

SearchAdView (searchAdView ici) contient une méthode setAdListener(). pour vous aider à analyser les erreurs. Dans le même Activity:

searchAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Called when an ad is loaded
        super.onAdLoaded();
        Toast.makeText(MainActivity.this, "Ad Loaded",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
    }

    @Override
    public void onAdOpened() {
        // Called when an ad opens an overlay that covers the screen
        super.onAdOpened();
        Toast.makeText(MainActivity.this, "Ad Opened",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
    }

    @Override
    public void onAdLeftApplication() {
        // Called when an ad leaves the application
        // (to go to the browser for example)
        super.onAdLeftApplication();
        Toast.makeText(MainActivity.this, "Ad Left Application",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
        // Called when an ad request failed
        super.onAdFailedToLoad(errorCode);
        Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
                Toast.LENGTH_SHORT).show();
        Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
                errorCode);
    }
});

Constantes utilisées dans la méthode de rappel onAdFailedToLoad() sont décrits dans la documentation de l'API référence.

Se préparer aux exigences concernant le communiqué sur les données sur Google Play

En mai 2021, Google Play a annoncé la nouvelle section Sécurité des données, qui est une déclaration fournie par le développeur concernant les pratiques d'une application concernant la collecte, le partage et la sécurité des données.

Cette page peut vous aider à remplir les exigences liées à cette divulgation de données concernant votre utilisation du SDK natif AFS (également applicable à AdSense pour Shopping). Sur cette page, vous trouverez des informations pour savoir si nos SDK traitent les données des utilisateurs finaux, et comment.

Notre objectif est d'être le plus transparent possible lorsque nous vous soutenons. Toutefois, en tant que développeur de l'application, vous êtes seul responsable de vos réponses au formulaire de la section Sécurité des données de Google Play concernant la collecte et le partage des données des utilisateurs finaux dans votre application, ainsi que vos pratiques de sécurité.

Utiliser les informations de cette page

Cette page liste uniquement les données de l'utilisateur final collectées par la dernière version du SDK.

Pour rédiger votre communiqué sur les données, vous pouvez consulter le guide sur les types de données d'Android afin de déterminer quel type de données décrit le mieux les données collectées. Dans votre communiqué, veillez également prendre en compte comment votre application spécifique partage et utilise les données collectées.

Type de données que le SDK accède au type de données et collecte

Colis:

com.google.android.gms:play-services-afs-native

com.google.ads.afsn

Données collectées automatiquement

Le SDK APR collecte automatiquement les données suivantes. Toutes les données sont transmises à Google depuis l'appareil afin de diffuser des annonces, et toutes les données sont chiffrées en transit. Les informations personnelles de l'utilisateur ne sont jamais collectées, sauf si elles sont transmises via votre application dans le cadre d'une requête utilisateur.

Données Ces données sont collectées aux fins suivantes :
Adresse IP <ph type="x-smartling-placeholder"></ph> Résumé: <ph type="x-smartling-placeholder">
    </ph>
  • Prévention des fraudes, sécurité et conformité
  • Publicité ou marketing
  • Obtenir la position approximative
<ph type="x-smartling-placeholder"></ph> Détails:
L'adresse IP est utilisée pour la surveillance des activités frauduleuses et des abus, ainsi que pour déterminer la position approximative de l'utilisateur.

La position approximative permet ensuite de vérifier que les annonces diffusées sont conformes aux réglementations locales et de fournir des annonces correspondant à la situation géographique approximative de l'utilisateur.

Activité dans les applications <ph type="x-smartling-placeholder">
    </ph>
  • Pages vues et appuis dans une application
  • Historique des recherches dans l'application
<ph type="x-smartling-placeholder"></ph> Résumé: <ph type="x-smartling-placeholder">
    </ph>
  • Analytics
  • Prévention des fraudes, sécurité et conformité
  • Publicité ou marketing
  • Personnalisation
<ph type="x-smartling-placeholder"></ph> Détails:
Votre application nous fournit la requête de l'utilisateur afin que nous puissions afficher des annonces sur le Réseau de Recherche en rapport avec le mot clé. Nous mesurons le nombre de vues et l'engagement (appuis) avec les annonces diffusées.
Diagnostic <ph type="x-smartling-placeholder"></ph> Résumé: <ph type="x-smartling-placeholder">
    </ph>
  • Analytics
<ph type="x-smartling-placeholder"></ph> Détails:
Le SDK mesure la latence d'affichage des annonces afin de permettre l'implémentation et la mesure des améliorations du produit. Nous envoyons également des rapports d'erreur et des rapports d'erreur, et ajoutons occasionnellement d'autres outils si nécessaire pour comprendre comment les éditeurs utilisent les fonctionnalités.
Appareil ou autres identifiants <ph type="x-smartling-placeholder"></ph> Résumé: <ph type="x-smartling-placeholder">
    </ph>
  • Prévention des fraudes, sécurité et conformité
  • Publicité ou marketing
<ph type="x-smartling-placeholder"></ph> Détails:
L'ID de l'appareil permet de surveiller les activités frauduleuses et les utilisations abusives, ainsi que de mesurer les performances des annonces.