Conditions préalables
Ce guide d'implémentation part du principe que vous connaissez les éléments suivants:
- Protocole d'implémentation des annonces pour les recherches personnalisées (CSA)
- Développement d'applications Android
- Associer le SDK Google Mobile Ads pour Android (qui fait désormais partie des services Google Play) à un projet Android Studio La version 9.0.0 des services Google Play est requise.
Classes
Pour diffuser des annonces AFSMA (également appelées annonces dynamiques du Réseau de Recherche avec hauteur dynamique) dans votre application, implémentez les classes suivantes:
- Cette classe hérite de la classe Android
ViewGroup
et affiche les annonces AFSMA.SearchAdView
envoie la demande d'annonce avec unDynamicHeightSearchAdRequest
et affiche les annonces renvoyées. LeSearchAdView
doit être ajouté à tous les groupes de vues existants de l'application. - Le
SearchAdView
doit être instancié avec le contexte dans lequel leSearchAdView
s'exécute, généralement unActivity
. - Une fois l'élément
SearchAdView
instancié, vous devez appeler la méthodesetAdSize()
avecAdSize.SEARCH
pour demander les annonces AFSMA. Les autres valeurs d'énumération demandent des 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. Cette méthode revient à définir des paramètres dans les objets de demande d'annonce JavaScript (options de page, options de bloc) pour le Web mobile et pour ordinateur d'AFS.
- Définissez les paramètres avec les setters appropriés (autrement dit, 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, l'objet 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 AFS pour les recherches personnalisées. Pour en savoir plus, consultez la documentation de référence concernant ce type d'annonce.
// 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 l'objet DynamicHeightSearchAdRequest.Builder
.
Pour envoyer une demande d'annonce, appelez la méthode loadAd()
avec l'objet DynamicHeightSearchAdRequest.Builder
à partir 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
peuvent être définis à l'aide de paires clé/valeur avec la méthode setAdvancedOptionValue()
.
Consultez la documentation de référence sur les annonces pour les recherches personnalisées AFS pour obtenir la liste complète des paramètres pouvant être définis à l'aide de la méthode setAdvancedOptionValue()
.
Le paramètre de clé doit être précédé de "csa_" pour que la propriété soit définie correctement.
// 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 que vous la définissez à l'aide de setAdvancedOptionValue
, le deuxième appel remplace la valeur du premier appel.
Examiner les erreurs
SearchAdView
(searchAdView
ici) contient une méthode setAdListener()
pour vous aider à examiner 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);
}
});
Les constantes utilisées dans la méthode de rappel onAdFailedToLoad()
sont décrites dans la documentation de référence de l'API.
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 sur la sécurité des données, qui est une communiqué fourni par le développeur sur 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 à ce communiqué concernant votre utilisation du SDK natif AFS (également applicable à AdSense pour Shopping). Sur cette page, vous trouverez des informations sur la façon dont nos SDK traitent les données des utilisateurs finaux, et si oui, comment.
Notre objectif est d'être le plus transparent possible pour vous aider. 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 créer 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 auquel le SDK accède et qu'il 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 dans le but de diffuser des annonces, et toutes les données sont chiffrées lors de leur transfert. Les informations personnelles de l'utilisateur ne sont jamais collectées, sauf si votre application lui envoie une requête utilisateur.
Données | Ces données sont collectées aux fins suivantes... |
---|---|
Adresse IP |
Résumé :
L'adresse IP est utilisée pour surveiller la fraude et les utilisations abusives, ainsi que pour déterminer la position approximative de l'utilisateur. La position approximative est ensuite utilisée pour s'assurer que les annonces diffusées sont conformes aux réglementations locales et pour proposer des annonces pertinentes par rapport à la position géographique approximative de l'utilisateur. |
Activité dans les applications
|
Résumé :
Votre application nous fournit la requête de l'utilisateur afin de nous permettre de renvoyer des annonces sur le Réseau de Recherche pertinentes par rapport au mot clé. Nous mesurons les vues et l'engagement (clics) avec les annonces affichées. |
Diagnostic |
Résumé :
Le SDK mesure la latence de rendu des annonces afin de permettre l'implémentation et la mesure des améliorations du produit. Nous envoyons également des rapports d'erreur/d'erreur et, si nécessaire, nous ajoutons de temps en temps d'autres instruments pour comprendre comment les éditeurs utilisent ces fonctionnalités. |
Appareil ou autres identifiants |
Résumé :
L'ID de l'appareil sert à surveiller les fraudes et utilisations abusives, ainsi qu'à mesurer les performances des annonces. |