Configurer le mode Consentement pour les applis

Cette page s'adresse aux développeurs qui utilisent le SDK Google Analytics pour Firebase dans leur application et souhaitent intégrer le mode Consentement. Pour en savoir plus sur le mode Consentement, consultez Présentation du mode Consentement.

Google Analytics propose le mode Consentement pour ajuster le comportement de votre SDK en fonction de l'état de consentement de vos utilisateurs. Vous pouvez implémenter le mode Consentement de manière basique ou avancée. Si vous ne savez pas si vous devez implémenter le mode Consentement de base ou avancé, découvrez le mode Consentement de base ou avancé et consultez les consignes de votre entreprise.

Avant de commencer

Avant de pouvoir gérer le consentement des utilisateurs, vous devez implémenter:

  • SDK Google Analytics pour Firebase
  • Bannière des paramètres de consentement pour recueillir le consentement de l'utilisateur

Pour configurer le mode Consentement:

  1. Avant qu'un utilisateur ne donne son consentement: désactivez temporairement la collecte Analytics.
  2. Définir l'état du consentement par défaut
  3. Mettez à jour l'état du consentement en fonction de l'interaction de l'utilisateur avec vos paramètres de consentement.
  4. Réactivez la collecte Analytics.

Désactiver temporairement la collecte Analytics

Une implémentation de base du mode Consentement consiste à bloquer le chargement du SDK Google Analytics pour Firebase jusqu'à ce que l'utilisateur donne son consentement.

Pour désactiver temporairement la collecte Analytics, définissez la valeur de firebase_analytics_collection_enabled sur false dans l'élément AndroidManifest.xml de votre application dans la balise d'application. Exemple :

<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />

Par défaut, aucune valeur n'est définie pour le mode Consentement. Pour définir l'état du consentement par défaut pour votre application, procédez comme suit:

  1. Ouvrez le fichier AndroidManifest.xml de votre application.
  2. Ajoutez les paires clé/valeur du mode Consentement. La clé décrit le type de consentement, et la valeur indique l'état du consentement. Les valeurs peuvent être true (le consentement a été accordé) ou false (le consentement a été refusé). Renseignez les champs suivants :

    • google_analytics_default_allow_analytics_storage
    • google_analytics_default_allow_ad_storage
    • google_analytics_default_allow_ad_user_data
    • google_analytics_default_allow_ad_personalization_signals
  3. Enregistrez les modifications. Implémentez ensuite le mécanisme permettant de mettre à jour les valeurs de consentement.

Par exemple, pour définir toutes les autorisations d'accès pour tous les paramètres par défaut:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

Réactiver la collecte Analytics

Une fois qu'un utilisateur a donné son consentement, réactivez la collecte Analytics à l'aide de la méthode setAnalyticsCollectionEnabled().

La valeur définie par la méthode setAnalyticsCollectionEnabled persiste lors des exécutions de l'application et remplace la valeur de FIREBASE_ANALYTICS_COLLECTION_ENABLED dans le fichier AndroidManifest.xml de votre application. Une fois que vous avez défini une valeur pour setAnalyticsCollectionEnabled, la collection Analytics reste dans cet état jusqu'à ce que setAnalyticsCollectionEnabled soit appelé à nouveau, même si un utilisateur ferme et rouvre votre application.

Pour mettre à jour la collection Analytics:

setAnalyticsCollectionEnabled(true);

Pour mettre à jour les valeurs de consentement après le lancement d'une application, appelez la méthode setConsent.

La valeur définie par la méthode setConsent remplace le paramètre par défaut et est conservée pour toutes les exécutions de l'application. La valeur reste dans cet état jusqu'à ce que setConsent soit appelé à nouveau, même si un utilisateur ferme et rouvre l'application. setConsent ne met à jour que les paramètres que vous spécifiez.

Si un utilisateur révoque le consentement qu'il a précédemment donné pour Analytics ou le stockage des annonces, Google Analytics supprime toutes les propriétés utilisateur, y compris le consentement pour ad_personalization. Pour conserver le choix de l'utilisateur concernant le consentement pour la personnalisation des annonces, restaurez la valeur précédente pour la personnalisation des annonces à l'aide de setConsent (Kotlin+KTX | Java) .

L'exemple suivant montre comment la méthode setConsent met à jour les différentes valeurs de consentement sur granted:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}