Info
Contenu

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

Vous recherchez une CMP prenant en charge le mode consentement de Google ? Voir notre Mode Consentement Google v2 page du produit.

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.

Pré-requis

  • Assurez-vous que le mode consentement est activé (Menu > CMP > Intégrations > Mode consentement de Google)
  • Assurez-vous que Google Analytics, Google Ads ou les autres services Google figurent dans votre liste de fournisseurs
  • Un projet Firebase avec Google Analytics activé.
  • SDK Firebase intégré à votre projet iOS.
  • CMPManager mis en place dans votre projet.

Aperçu

Vous trouverez ci-dessous des méthodes d'aide qui vous permettront de récupérer et de gérer le statut de consentement de Google à l'aide de notre SDK CMP. 

iOS

/// Synchronizes the consent status from CMP to Firebase Analytics
func syncConsentToFirebase() {
    let cmpManager = CMPManager.shared
    guard let googleConsentModeStatus = cmpManager.getGoogleConsentModeStatus() else {
        print("Google Consent Mode status not available")
        return
    }

    // Define all expected consent types
    let consentTypes = [
        "analytics_storage",
        "ad_storage",
        "ad_user_data",
        "ad_personalization"
    ]

    // Build Firebase settings with proper defaults
    var firebaseConsentSettings = [String: String]()

    // Set defaults for all expected types (denied)
    for consentType in consentTypes {
      firebaseConsentSettings[consentType] = "denied"
    }

    // Override with actual values from CMP
    for (key, value) in googleConsentModeStatus {
        if consentTypes.contains(key) {
            firebaseConsentSettings[key] = value
        }
    }

    // Set the consent in Firebase
    Analytics.setConsent(firebaseConsentSettings)
    print("Firebase consent settings updated: \(firebaseConsentSettings)")
}

Android

/// Synchronizes the consent status from CMP to Firebase Analytics
fun updateFirebaseConsent(firebaseAnalytics: FirebaseAnalytics, cmpManager: CMPManager) {
    // Get consent settings from CMP SDK
    val cmpConsentSettings = cmpManager.getGoogleConsentModeStatus()
    
    // Convert to Firebase's types
    val firebaseConsentSettings = mutableMapOf<ConsentType, ConsentStatus>()
    
    cmpConsentSettings.forEach { (key, value) ->
        try {
            val consentType = ConsentType.valueOf(key.uppercase())
            val consentStatus = if (value == "granted") 
                ConsentStatus.GRANTED else ConsentStatus.DENIED
            
            firebaseConsentSettings[consentType] = consentStatus
        } catch (e: IllegalArgumentException) {
            Log.w("ConsentManager", "Unknown consent type: $key")
        }
    }
    
    // Update Firebase consent
    firebaseAnalytics.setConsent(firebaseConsentSettings)
    Log.d("ConsentManager", "Updated Firebase consent: $firebaseConsentSettings")
}

 

Retour en haut de la page