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 del SDK según el estado de consentimiento de tus usuarios. Puedes implementar el modo de consentimiento de forma básica o avanzada. Si no estás seguro de si debes 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 las directrices de tu empresa.

Antes de comenzar

Antes de poder administrar el consentimiento del usuario, debes implementar lo siguiente:

  • SDK de Google Analytics para Firebase
  • Un banner de configuración de consentimiento para capturar el consentimiento del usuario

Para configurar el modo de consentimiento, debes seguir estos pasos:

  1. Establece el estado de consentimiento predeterminado.

De forma predeterminada, no se establece ningún valor para el modo de consentimiento. Para establecer el estado de consentimiento predeterminado para tu app, sigue estos pasos:

  1. Abre el archivo info.plist de tu app.
  2. Agrega los pares clave-valor del modo de consentimiento. La clave describe el consent type y el valor indica el estado de consentimiento. Los valores pueden ser true, lo que significa que se otorgó el consentimiento, o false, lo que significa que se rechazó.

    De acuerdo con las actualizaciones del modo de consentimiento para el tráfico en el Espacio Económico Europeo (EEE), se puede establecer un valor de eu_consent_policy para ad_user_data y ad_personalization, lo que significa que el consentimiento se rechaza solo para los usuarios de las regiones sujetas a la política de consentimiento de los usuarios de la UE.

    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. Luego, implementa el mecanismo para actualizar los valores de consentimiento.

Por ejemplo, para establecer que se otorgue el consentimiento para todos los parámetros de forma predeterminada, haz lo siguiente:

<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>

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

El valor que estableció el método setConsent anula la configuración predeterminada y persiste en todas 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 revoca el consentimiento que otorgó anteriormente para Analytics o el almacenamiento de anuncios, Google Analytics borrará todas las propiedades del usuario, incluido el consentimiento para ad_personalization. Para preservar 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 (Swift | Obj-C) .

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

Swift

Analytics.setConsent([
  .analyticsStorage: .granted,
  .adStorage: .granted,
  .adUserData: .granted,
  .adPersonalization: .granted,
])

Objective-C

[FIRAnalytics setConsent:@{
  FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
  FIRConsentTypeAdStorage : FIRConsentStatusGranted,
  FIRConsentTypeAdUserData : FIRConsentStatusGranted,
  FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
}];

Si un usuario decide revocar su consentimiento, asegúrate de actualizar los estados de consentimiento en consecuencia y volver a inhabilitar la recopilación de Analytics con setAnalyticsCollectionEnabled().

Como parte del compromiso permanente de Google con un ecosistema de publicidad digital seguro para la privacidad, fortaleceremos la aplicación de nuestra política de consentimiento de usuarios de la UE.

Obtén más información sobre las actualizaciones del modo de consentimiento de Google para el tráfico en el Espacio Económico Europeo (EEE).

Los usuarios del modo de consentimiento deben enviar dos parámetros nuevos, además del almacenamiento de anuncios y el almacenamiento de Analytics:

  1. Actualiza el archivo info.plist de tu app para incluir lo siguiente:

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. Actualiza tus llamadas de consentimiento para incluir los parámetros de datos del usuario de anuncios y personalización de anuncios:

    Swift

    Analytics.setConsent([
    .analyticsStorage: .granted,
    .adStorage: .granted,
    .adUserData: .granted,
    .adPersonalization: .granted,
    ])
    

    Objective-C

    [FIRAnalytics setConsent:@{
      FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdUserData : FIRConsentStatusGranted,
      FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
    }];
    

Para verificar que la configuración de consentimiento funcione según lo previsto, consulta la consola de depuración de Xcode de tu app.

Sigue estos pasos:

  1. Habilita el registro detallado en tu dispositivo.
  2. En la consola de depuración de Xcode, busca lo siguiente:

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    Por ejemplo, si el almacenamiento de anuncios está habilitado, verás el siguiente mensaje:

    ad_storage is granted.