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.
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.
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
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
}
}
L' 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)
}