info
Contenu

Prise en charge du mode consentement Google v2 pour les SDK inApp

Depuis la version 2.1.0 sous Android et la version 1.99.3 sous iOS

Ce guide fournit des instructions sur la façon d'intégrer le mode consentement de Google au ConsentManager dans votre application Android ou iOS. Cela suppose que Firebase Analytics est déjà configuré dans votre projet.

iOS

Pré-requis
  • Un projet Firebase avec Google Analytics activé.
  • SDK Firebase intégré à votre projet iOS.
  • CMPConsentTool mis en place dans votre projet.
Étape 1 : Configurer CMPConsentTool

Mettre en place CMPConsentTool avec votre configuration spécifique. Cet outil gérera les interactions avec le consentement des utilisateurs :

import CmpSdk

var cmpManager: CMPConsentTool?

func configureCMPConsentTool() {
let cmpConfig = CMPConfig(...) // Configure as per your requirements

cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
}
Étape 2 : Gérer les mises à jour du consentement

Implémentez la fonction de rappel pour gérer les mises à jour du statut de consentement. Cette fonction sera déclenchée en cas de changement du consentement de l'utilisateur.

    func onCmpUpdateGoogleConsent(consentMap: [String: String]?) -> Void {
        guard let consentMap = consentMap else { return }

        var firebaseConsentMap: [ConsentType: ConsentStatus] = [:]

        consentMap.forEach { key, value in
            if let consentType = convertToFirebaseConsentType(from: key),
               let consentStatus = convertToFirebaseConsentStatus(from: value) {
                firebaseConsentMap[consentType] = consentStatus
            }
        }

        Analytics.setConsent(firebaseConsentMap)
    }
    
    func convertToFirebaseConsentType(from key: String) -> ConsentType? {
        switch key {
        case "analyticsStorage":
            return .analyticsStorage
        case "adStorage":
            return .adStorage
        case "adUserData":
            return .adUserData
        case "adPersonalization":
            return .adPersonalization
        default:
            return nil
        }
    }

    func convertToFirebaseConsentStatus(from value: String) -> ConsentStatus? {
        switch value {
        case "granted":
            return .granted
        case "denied":
            return .denied
        default:
            return nil
        }
    }

Le onCmpUpdateGoogleConsent La fonction met à jour le consentement dans Google Analytics à l'aide du SDK Firebase.

  • La fonction traduit le consentement de l'utilisateur à partir du CMPConsentTool dans un format que Firebase Analytics peut comprendre.
  • Il met ensuite à jour Google Analytics avec le statut de consentement actuel de l'utilisateur.

Android

Pré-requis
  • Application Android avec Firebase Analytics intégré.
  • CmpManager classe implémentée dans votre application.
Étape 1 : Configurer Firebase Analytics

Si vous ne l'avez pas déjà fait, ajoutez Firebase Analytics à votre projet Android. Suivez le fonctionnaire Documentation Firebase Pour le configurer.

Étape 2 : implémenter le rappel de Google Firebase Analytics
// add the AnalyticsInterface
class ConsentActivity() : FragmentActivity(), CmpGoogleAnalyticsInterface {
  
// Set the Callback
cmpManager.setGoogleAnalyticsCallback(this)

// Define Callback
override fun updateGoogleConsent(consentMap: Map<ConsentType, ConsentStatus>) {
	val firebaseConsentMap = consentMap.entries.associate { entry ->
		val firebaseConsentType = when (entry.key) {
			ConsentType.ANALYTICS_STORAGE -> FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE
			ConsentType.AD_STORAGE -> FirebaseAnalytics.ConsentType.AD_STORAGE
			ConsentType.AD_USER_DATA -> FirebaseAnalytics.ConsentType.AD_USER_DATA
			ConsentType.AD_PERSONALIZATION -> FirebaseAnalytics.ConsentType.AD_PERSONALIZATION
		}
	
		val firebaseConsentStatus = when (entry.value) {
			ConsentStatus.GRANTED -> FirebaseAnalytics.ConsentStatus.GRANTED
			ConsentStatus.DENIED -> FirebaseAnalytics.ConsentStatus.DENIED
		}
		
		firebaseConsentType to firebaseConsentStatus
	}
	
	FirebaseAnalytics.getInstance(applicationContext).setConsent(firebaseConsentMap)
}
Retour en haut de la page