Cómo configurar el modo de consentimiento para aplicaciones

Esta página está destinada a los desarrolladores que usan el SDK de Google Analytics para Firebase en su app y desean integrar el modo de consentimiento. Para obtener una introducción al modo de consentimiento, consulta Descripción general del modo de consentimiento.

Google Analytics ofrece el modo de consentimiento para ajustar el comportamiento de tu SDK según el estado de consentimiento de tus usuarios. Puedes implementar el modo de consentimiento de manera básica o avanzada. Si no estás seguro de implementar el modo de consentimiento básico o avanzado, obtén más información sobre el modo de consentimiento básico y el avanzado y consulta los lineamientos de tu empresa.

Antes de comenzar

Para poder administrar el consentimiento de los usuarios, debes implementar lo siguiente:

  • SDK de Google Analytics para Firebase
  • Un banner de configuración de consentimiento para obtener el consentimiento de los usuarios

Para configurar el modo de consentimiento, debes hacer lo siguiente:

  1. Antes de que un usuario otorgue su consentimiento: Inhabilita temporalmente la recopilación de Analytics.
  2. Establece el estado de consentimiento predeterminado.
  3. Actualiza el estado de consentimiento según la interacción del usuario con tu configuración de consentimiento.
  4. Vuelve a habilitar la recopilación de Analytics.

Inhabilita temporalmente la recopilación de Analytics

Una implementación básica del modo de consentimiento implica bloquear la carga del SDK de Google Analytics para Firebase hasta que un usuario otorgue su consentimiento.

Para inhabilitar temporalmente la recopilación de Analytics, configura el valor de firebase_analytics_collection_enabled como false en la etiqueta de la aplicación AndroidManifest.xml de la app. Por ejemplo:

<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />

De forma predeterminada, no se establecen valores del modo de consentimiento. Para establecer el estado de consentimiento predeterminado de tu app, haz lo siguiente:

  1. Abre el archivo AndroidManifest.xml de tu app.
  2. Agrega los pares clave-valor del modo de consentimiento. La clave describe el tipo de consentimiento y el valor indica el estado de consentimiento. Los valores pueden ser true, que significa que se otorgó el consentimiento, o false, que significa que se rechazó el consentimiento. Establezca lo siguiente:

    • google_analytics_default_allow_analytics_storage
    • google_analytics_default_allow_ad_storage
    • google_analytics_default_allow_ad_user_data
    • google_analytics_default_allow_ad_personalization_signals
  3. Guarda los cambios. A continuación, implementa el mecanismo para actualizar los valores de consentimiento.

Por ejemplo, para establecer la opción de otorgar el consentimiento para todos los parámetros de forma predeterminada, haz lo siguiente:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

Volver a habilitar la recopilación de Analytics

Después de que el usuario otorgue su consentimiento, vuelve a habilitar la recopilación de Analytics con el método setAnalyticsCollectionEnabled().

El valor establecido por el método setAnalyticsCollectionEnabled persiste en todas las ejecuciones de la app y anula el valor de FIREBASE_ANALYTICS_COLLECTION_ENABLED en el archivo AndroidManifest.xml de la app. Una vez que configuras un valor para setAnalyticsCollectionEnabled, la colección de Analytics permanece en ese estado hasta que se vuelve a llamar a setAnalyticsCollectionEnabled, incluso si un usuario cierra la app y vuelve a abrirla.

Para actualizar la recopilación de Analytics, sigue estos pasos:

setAnalyticsCollectionEnabled(true);

Para actualizar los valores de consentimiento después de que se inicie una app, llama al método setConsent.

El valor establecido por el método setConsent anula la configuración predeterminada y persiste entre las ejecuciones de la app. El valor permanece en ese estado hasta que se vuelve a llamar a setConsent, incluso si un usuario cierra y vuelve a abrir la app. setConsent solo actualiza los parámetros que especificas.

Si un usuario retira su consentimiento previo para usar Analytics o el almacenamiento de anuncios, Google Analytics borrará todas las propiedades del usuario, incluido el consentimiento para ad_personalization. Para conservar la elección de consentimiento del usuario para la personalización de anuncios, restablece el valor anterior de la personalización de anuncios con setConsent (Kotlin+KTX | Java) .

En el siguiente ejemplo, se muestra el método setConsent que actualiza los diferentes valores de consentimiento a granted:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}