Compatibilidad con el Modo de consentimiento de Google v2 para SDK de aplicaciones

IMPORTANTE: A partir de la versión 3.3.0, hemos implementado la actualización automática del estado del modo de consentimiento de Firebase, mediante introspección. Nuestro SDK de CMP detecta automáticamente si tu aplicación integra Firebase e invocará automáticamente el método `setConsent()` de Firebase para actualizar los consentimientos mediante introspección/reflexión, a menos que desactives este comportamiento utilizando el método `setAutomaticConsentUpdatesEnabled(false)`. Consulte los fragmentos de código que aparecen a continuación y elija la estrategia que mejor se adapte a su caso de uso. Asegúrese de NO permitir que nuestro SDK establezca automáticamente el consentimiento Y TAMBIÉN invoque el método setConsent() de Firebase en su código, ya que las señales duplicadas provocarán sin duda resultados impredecibles. 

¿Buscas un CMP compatible con el Modo de consentimiento de Google? Consulta nuestra página de producto sobre el Modo de consentimiento de Google v2.

Esta guía ofrece instrucciones sobre cómo integrar el Modo de Consentimiento de Google con el ConsentManager personalizado en tu aplicación para Android o iOS.

Requisitos previos

  • Asegúrate de que el Modo de consentimiento esté activado (Menú > CMP > Integraciones > Modo de consentimiento de Google)
  • Asegúrate de que Google Analytics, Google Ads o los demás servicios de Google estén en tu lista de proveedores
  • Un proyecto de Firebase con Google Analytics habilitado.
  • SDK de Firebase integrado en tu proyecto de iOS.
  • CMPManager configuradas en tu proyecto.

Resumen

Por defecto, a partir de la versión 3.3.0, nuestro SDK móvil CMP comprobará automáticamente si tu aplicación móvil integra Firebase e invocará el método setConsent() de Firebase mediante introspección/reflexión, con el fin de facilitar a nuestros clientes la propagación de los consentimientos desde tu CMP a Firebase. Comprueba el código siguiente y asegúrate de que 

analytics = Firebase.analytics

val urlConfig = UrlConfig(
	id = "YOUR_CODE_ID",
	domain = "delivery.consentmanager.net",
	language = "EN",
	appName = "YourAppName"
)

cmpManager = CMPManager.getInstance(
    context = this,
    urlConfig = urlConfig,
    webViewConfig = webViewConfig,
    delegate = this
)

// IMPORTANT: This line below disables automatic propagation of GCM consent to Firebase
//            The default is TRUE, so if you suppress the line below, automatic
//            propagation WILL happen. If set to false like below, you'll need to MANUALLY invoke
//			  Firebase's setConsent() method, like demonstrated below.
cmpManager.setAutomaticConsentUpdatesEnabled(enabled = false)

cmpManager.setActivity(this)

cmpManager.checkAndOpen(false) { result ->
    result.onSuccess {
        navigateToHomeScreen()
    }.onFailure { error ->
        Log.e("DemoApp", "Check and open consent layer failed with error: $error")
    }

// Manual propagation of the consents to Firebase. You DO NOT need to do this
// if you .setAutomaticConsentUpdatesEnabled(true)
val firebaseConsent = cmpManager.getGoogleConsentModeStatus()    
firebaseAnalytics.setConsent(firebaseConsent)

Propagación manual de iOS a Firebase

/// Synchronizes the consent status from CMP to Firebase Analytics
func syncConsentToFirebase() {
	let consentMode = CMPManager.shared.getGoogleConsentModeStatus()
	FirebaseConsentService.shared.updateFirebaseConsent(consentMode: consentMode)
}

 

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!