Configurare la modalità di consenso per le app

Questa pagina è rivolta agli sviluppatori che utilizzano l'SDK Google Analytics for Firebase nella propria app e vogliono integrare la modalità di consenso. Per un'introduzione alla modalità di consenso, leggi la panoramica sulla modalità di consenso.

Google Analytics offre la modalità di consenso per modificare il comportamento dell'SDK in base allo stato del consenso degli utenti. Puoi implementare la modalità di consenso in modo di base o avanzato. Se non sai se implementare la modalità di consenso di base o avanzata, scopri di più sulla modalità di consenso di base o avanzata e consulta le linee guida della tua azienda.

Prima di iniziare

Prima di poter gestire il consenso degli utenti, devi implementare:

  • SDK Google Analytics per Firebase
  • Un banner delle impostazioni del consenso per acquisire il consenso degli utenti

Per configurare la modalità di consenso, devi:

  1. Prima che un utente conceda il consenso: disattiva temporaneamente la raccolta di Analytics.
  2. Imposta lo stato del consenso predefinito.
  3. Aggiorna lo stato del consenso in base all'interazione dell'utente con le impostazioni relative al consenso.
  4. Riattiva la raccolta di Analytics.

Disattivare temporaneamente la raccolta di Analytics

Un'implementazione di base della modalità di consenso significa bloccare il caricamento dell'SDK Google Analytics per Firebase finché un utente non concede il consenso.

Per disattivare temporaneamente la raccolta di Analytics, imposta il valore di firebase_analytics_collection_enabled su false nel AndroidManifest.xml della tua app nel tag dell'applicazione. Ad esempio:

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

Per impostazione predefinita, non viene impostato alcun valore della modalità di consenso. Per impostare lo stato del consenso predefinito per la tua app:

  1. Apri il file AndroidManifest.xml della tua app.
  2. Aggiungi le coppie chiave-valore per la modalità di consenso. La chiave descrive il tipo di consenso e il valore indica lo stato del consenso. I valori possono essere true, che indica che il consenso è stato concesso, oppure false, che indica che il consenso è stato negato. Imposta quanto segue:

    • 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. Salva le modifiche. Successivamente, implementa il meccanismo per aggiornare i valori del consenso.

Ad esempio, per impostare per impostazione predefinita tutte le autorizzazioni concesse per tutti i parametri:

<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" />

Riattiva la raccolta di Analytics

Dopo che un utente ha dato il consenso, attiva di nuovo la raccolta di Analytics utilizzando il metodo setAnalyticsCollectionEnabled().

Il valore impostato dal metodo setAnalyticsCollectionEnabled persiste per tutte le esecuzioni dell'app e sostituisce il valore FIREBASE_ANALYTICS_COLLECTION_ENABLED nel file AndroidManifest.xml dell'app. Dopo aver impostato un valore per setAnalyticsCollectionEnabled, la raccolta di Analytics rimane in questo stato fino a quando setAnalyticsCollectionEnabled non viene richiamata di nuovo, anche se un utente chiude e riapre la tua app.

Per aggiornare la raccolta di Analytics:

setAnalyticsCollectionEnabled(true);

Per aggiornare i valori del consenso dopo l'avvio di un'app, chiama il metodo setConsent.

Il valore impostato dal metodo setConsent sostituisce l'impostazione predefinita e persiste per tutte le esecuzioni dell'app. Il valore rimane in questo stato fino a quando setConsent non viene richiamato, anche se un utente chiude e riapre l'app. setConsent aggiorna solo i parametri specificati da te.

Se un utente ritira il consenso concesso in precedenza per Analytics o l'archiviazione di annunci, Google Analytics elimina tutte le proprietà utente, incluso il consenso per ad_personalization. Per mantenere la scelta dell'utente relativa al consenso per la personalizzazione degli annunci, ripristina il valore precedente per la personalizzazione degli annunci utilizzando setConsent (Kotlin+KTX | Java) .

L'esempio seguente mostra il metodo setConsent che aggiorna i diversi valori del consenso in 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)
}