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
Configurare la modalità di consenso
Per configurare la modalità di consenso, devi:
- Prima che un utente conceda il consenso: disattiva temporaneamente la raccolta di Analytics.
- Imposta lo stato del consenso predefinito.
- Aggiorna lo stato del consenso in base all'interazione dell'utente con le impostazioni relative al consenso.
- 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" />
Impostare lo stato del consenso predefinito
Per impostazione predefinita, non viene impostato alcun valore della modalità di consenso. Per impostare lo stato del consenso predefinito per la tua app:
- Apri il file AndroidManifest.xml della tua app.
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, oppurefalse
, 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
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 metodosetAnalyticsCollectionEnabled()
.
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);
Aggiorna consenso
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 utilizzandosetConsent
(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)
}