Compatibilidad con el modo de consentimiento de Google v2 para SDK inApp
¿Busca un CMP que admita el modo de consentimiento de Google? Vea nuestro Modo de consentimiento de Google v2 página del producto.
Desde la Versión 2.1.0 en Android y la Versión 1.99.3 en iOS
Esta guía proporciona instrucciones sobre cómo integrar el Modo de consentimiento de Google con el formulario personalizado. ConsentManager en su aplicación de Android o iOS. Se supone que ya tienes Firebase Analytics configurado en tu proyecto.
Requisitos previos
- Asegúrese de que el modo de consentimiento esté habilitado (Menú > CMP > Integraciones > Modo de consentimiento de Google)
- Asegúrese de que Google Analytics, Google Ads u otros servicios de Google estén en su lista de proveedores
iOS
Requisitos previos
- Un proyecto de Firebase con Google Analytics habilitado.
- Firebase SDK integrado en su proyecto iOS.
-
CMPConsentTool
configurar en su proyecto.
Paso 1: Configurar CMPConsentTool
Preparar CMPConsentTool
con su configuración específica. Esta herramienta gestionará las interacciones de consentimiento del usuario:
import CmpSdk
var cmpManager: CMPConsentTool?
func configureCMPConsentTool() {
let cmpConfig = CMPConfig(...) // Configure as per your requirements
cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
}
Paso 2: Manejar las actualizaciones de consentimiento
Implemente la función de devolución de llamada para manejar las actualizaciones del estado de consentimiento. Esta función se activará cuando haya un cambio en el consentimiento del usuario.
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
}
}
El onCmpUpdateGoogleConsent
La función actualiza el consentimiento en Google Analytics utilizando el SDK de Firebase.
- La función traduce el consentimiento del usuario desde el
CMPConsentTool
en un formato que Firebase Analytics pueda comprender. - Luego actualiza Google Analytics con el estado de consentimiento actual del usuario.
Android
Requisitos previos
- Aplicación Android con Firebase Analytics integrado.
-
CmpManager
clase implementada en su aplicación.
Paso 1: configurar Firebase Analytics
Si aún no lo has hecho, agrega Firebase Analytics a tu proyecto de Android. Sigue al oficial Documentación de Firebase para configurarlo
Paso 2: implementar la devolución de llamada 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)
}