Le SDK Google User Messaging Platform (UMP) est un outil de confidentialité et de messagerie qui vous aide à gérer les choix de confidentialité. Pour en savoir plus, consultez À propos de Confidentialité et messages.
Prérequis
- Niveau d'API Android 21 ou supérieur
Créer un type de message
Créez des messages utilisateur avec l'un des types de messages utilisateur disponibles sous l'onglet Confidentialité et messages de votre compte AdMob. Le SDK UMP tente d'afficher un message de confidentialité créé à partir de l'ID d'application AdMob défini dans votre projet.
Pour en savoir plus, consultez À propos de Confidentialité et messages.
Installer avec Gradle
Ajoutez la dépendance pour le SDK Google User Messaging Platform au fichier
Gradle au niveau de l'application de votre module (généralement app/build.gradle) :
dependencies {
implementation("com.google.android.ump:user-messaging-platform:4.0.0")
}
Après avoir apporté des modifications au fichier build.gradle de votre application, veillez à synchroniser votre projet avec les fichiers Gradle.
Ajouter l'ID application
Votre ID d'application figure dans l'
interface utilisateur d'AdMob.
Ajoutez l'ID à votre
AndroidManifest.xml
avec l'extrait de code suivant :
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
Obtenir les informations de consentement de l'utilisateur
Pour obtenir les informations de consentement de l'utilisateur, procédez comme suit :
Déclarez une instance de ConsentInformation :
Java
private final ConsentInformation consentInformation;
Kotlin
private lateinit val consentInformation: ConsentInformation
Initialisez l'instance ConsentInformation :
Java
consentInformation = UserMessagingPlatform.getConsentInformation(context);
Kotlin
consentInformation = UserMessagingPlatform.getConsentInformation(context)
Vous devez demander une mise à jour des informations de consentement de l'utilisateur à chaque lancement de l'application à l'aide de
requestConsentInfoUpdate(). Cette requête vérifie les points suivants :
- Si le consentement est obligatoire. Par exemple, le consentement est obligatoire pour la première fois ou la décision de consentement précédente a expiré.
- Si un point d'entrée pour les options de confidentialité est obligatoire. Certains messages de confidentialité exigent que les applications permettent aux utilisateurs de modifier leurs options de confidentialité à tout moment.
Java
// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
activity,
params,
() -> // Called when consent information is successfully updated.
requestConsentError -> // Called when there's an error updating consent information.
Kotlin
// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
activity,
params,
{
// Called when consent information is successfully updated.
},
{ requestConsentError ->
// Called when there's an error updating consent information.
},
)
Charger et présenter le formulaire de message de confidentialité
Une fois que vous avez reçu l'état de consentement le plus récent, appelez
loadAndShowConsentFormIfRequired() pour charger tous les formulaires nécessaires à la collecte du consentement de l'utilisateur. Une fois chargés, les formulaires s'affichent immédiatement.
Java
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
activity,
formError -> {
// Consent gathering process is complete.
});
Kotlin
UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
// Consent gathering process is complete.
}
Options de confidentialité
Certains formulaires de message de confidentialité sont présentés à partir d'un point d'entrée des options de confidentialité rendu par l'éditeur, ce qui permet aux utilisateurs de gérer leurs options de confidentialité à tout moment. Pour en savoir plus sur le message que vos utilisateurs voient au point d'entrée des options de confidentialité, consultez Types de messages utilisateur disponibles.
Vérifier si un point d'entrée pour les options de confidentialité est obligatoire
Après avoir appelé
requestConsentInfoUpdate(), vérifiez
getPrivacyOptionsRequirementStatus() pour
déterminer si un point d'entrée pour les options de confidentialité est obligatoire pour votre application. Si un point
d'entrée est obligatoire, ajoutez un élément d'interface utilisateur visible et interactif à votre application qui
présente le formulaire des options de confidentialité. Si un point d'entrée de confidentialité n'est pas obligatoire, configurez votre élément d'interface utilisateur pour qu'il ne soit pas visible et interactif.
Java
/** Helper variable to determine if the privacy options form is required. */
public boolean isPrivacyOptionsRequired() {
return consentInformation.getPrivacyOptionsRequirementStatus()
== PrivacyOptionsRequirementStatus.REQUIRED;
}
Kotlin
/** Helper variable to determine if the privacy options form is required. */
val isPrivacyOptionsRequired: Boolean
get() =
consentInformation.privacyOptionsRequirementStatus ==
ConsentInformation.PrivacyOptionsRequirementStatus.REQUIRED
Pour obtenir la liste complète des états requis pour les options de confidentialité, consultez
ConsentInformation.PrivacyOptionsRequirementStatus.
Présenter le formulaire des options de confidentialité
Lorsque l'utilisateur interagit avec votre élément, présentez le formulaire des options de confidentialité :
Java
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);
Kotlin
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)
Demander des annonces avec le consentement de l'utilisateur
Avant de demander des annonces, utilisez
canRequestAds() pour vérifier si vous avez
obtenu le consentement de l'utilisateur :
Java
consentInformation.canRequestAds();
Kotlin
consentInformation.canRequestAds()
Voici les endroits où vous pouvez vérifier si vous pouvez demander des annonces tout en recueillant le consentement :
- Une fois que le SDK UMP a recueilli le consentement lors de la session en cours.
- Immédiatement après avoir appelé
requestConsentInfoUpdate(). Il est possible que le SDK UMP ait obtenu le consentement lors de la session d'application précédente.
Si une erreur se produit lors du processus de collecte du consentement, vérifiez si vous pouvez demander des annonces. Le SDK UMP utilise l'état du consentement de la session d'application précédente.
Éviter les demandes d'annonces redondantes
Lorsque vous vérifiez
canRequestAds() après avoir recueilli le consentement et après avoir appelé
requestConsentInfoUpdate(), assurez-vous que votre logique empêche les demandes d'annonces redondantes qui
pourraient entraîner le renvoi de true par les deux vérifications. Par exemple, avec une variable booléenne.
Tests
Si vous souhaitez tester l'intégration dans votre application pendant son développement, suivez ces étapes pour enregistrer votre appareil de test par programmation. Veillez à supprimer le code qui définit ces ID d'appareils de test avant de publier votre application.
- Appelez
requestConsentInfoUpdate(). Dans la sortie du journal, recherchez un message semblable à l'exemple suivant, qui indique l'ID de votre appareil et comment l'ajouter en tant qu'appareil de test :
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.Copy your test device ID to your clipboard (Copiez l'ID de votre appareil de test dans le presse-papiers).
Modifiez votre code pour appeler
ConsentDebugSettings.Builder().TestDeviceHashedIdset transmettez la liste des ID de vos appareils de test.Java
ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this) .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID") .build(); ConsentRequestParameters params = new ConsentRequestParameters .Builder() .setConsentDebugSettings(debugSettings) .build(); consentInformation = UserMessagingPlatform.getConsentInformation(this); // Include the ConsentRequestParameters in your consent request. consentInformation.requestConsentInfoUpdate( this, params, // ... );Kotlin
val debugSettings = ConsentDebugSettings.Builder(this) .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID") .build() val params = ConsentRequestParameters .Builder() .setConsentDebugSettings(debugSettings) .build() consentInformation = UserMessagingPlatform.getConsentInformation(this) // Include the ConsentRequestParameters in your consent request. consentInformation.requestConsentInfoUpdate( this, params, // ... )
Forcer une zone géographique
Le SDK UMP permet de tester le comportement de votre application comme si l'appareil
était situé dans différentes régions, telles que l'Espace économique européen (EEE), le
Royaume-Uni et la Suisse, à l'aide de
setDebugGeography(). Notez que les paramètres de débogage ne fonctionnent que sur les appareils de test.
Java
ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
.addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
.build();
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
.setConsentDebugSettings(debugSettings)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
this,
params,
...
);
Kotlin
val debugSettings = ConsentDebugSettings.Builder(this)
.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
.addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
.build()
val params = ConsentRequestParameters
.Builder()
.setConsentDebugSettings(debugSettings)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
this,
params,
...
)
Réinitialiser l'état du consentement
Lorsque vous testez votre application avec le SDK UMP, il peut être utile de réinitialiser l'état du SDK afin de simuler la première expérience d'installation d'un utilisateur.
Le SDK fournit la méthode reset() pour ce faire.
Java
consentInformation.reset();
Kotlin
consentInformation.reset()
Exemples sur GitHub
Consultez un exemple complet de l'intégration du SDK UMP abordée sur cette page dans Java BannerExample et Kotlin BannerExample.