Premiers pas

Sélectionnez une plate-forme : Android iOS Unity Flutter

Le SDK Google UMP (User Messaging Platform) 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 destinés aux utilisateurs à l'aide de l'un des types de messages 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 la confidentialité et des 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:3.1.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

Vous trouverez votre ID d'application dans l'UI 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>

Pour obtenir les informations sur le 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 éléments suivants :

  • Indique si le consentement est requis. Par exemple, le consentement est requis pour la première fois ou la décision de consentement précédente a expiré.
  • Indique si un point d'entrée des options de confidentialité est requis. 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 concernant la confidentialité

Une fois que vous avez reçu l'état du consentement le plus récent, appelez loadAndShowConsentFormIfRequired() pour charger les formulaires requis pour recueillir le 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 messages sur la confidentialité sont présentés à partir d'un point d'entrée des options de confidentialité affiché 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 requis

Après avoir appelé requestConsentInfoUpdate(), vérifiez getPrivacyOptionsRequirementStatus() pour déterminer si un point d'entrée pour les options de confidentialité est requis pour votre application. Si un point d'entrée est requis, ajoutez à votre application un élément d'UI visible et interactif qui présente le formulaire d'options de confidentialité. Si un point d'entrée de confidentialité n'est pas requis, configurez votre élément d'UI pour qu'il ne soit pas visible ni 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.

Afficher le formulaire des options de confidentialité

Lorsque l'utilisateur interagit avec votre élément, présentez le formulaire d'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(). Le SDK UMP peut avoir obtenu le consentement lors de la session précédente de l'application.

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 précédente de l'application.

Éviter les tâches redondantes de demande d'annonces

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 pour les deux vérifications. Par exemple, avec une variable booléenne.

Tests

Si vous souhaitez tester l'intégration dans votre application pendant que vous la développez, suivez ces étapes pour enregistrer votre appareil de test de manière programmatique. Veillez à supprimer le code qui définit ces ID d'appareils de test avant de publier votre application.

  1. Appelez requestConsentInfoUpdate().
  2. Consultez la sortie du journal pour trouver 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.
    
  3. Copiez l'ID de votre appareil de test dans le presse-papiers.

  4. Modifiez votre code pour appeler ConsentDebugSettings.Builder().TestDeviceHashedIds et transmettre une 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'EEE ou le Royaume-Uni, à 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,
    ...
)

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

Pour voir un exemple complet de l'intégration du SDK UMP abordée sur cette page, consultez Java BannerExample et Kotlin BannerExample.