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 (booleano) nel file Info.plist della tua app. Ad esempio, visualizzati nel codice XML di origine:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><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 info.plist dell'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:

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

Riattiva la raccolta di Analytics

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

Il valore impostato dal metodo setAnalyticsCollectionEnabled persiste per tutte le esecuzioni dell'app e sostituisce il valore firebase_analytics_collection_enabled nel file Info.plist 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:

Swift

swift Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

obj-c [FIRAnalytics setAnalyticsCollectionEnabled:YES];

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 (Swift | Obj-C) .

L'esempio seguente mostra il metodo setConsent che aggiorna i diversi valori del consenso in granted:

Swift

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

Objective-C

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

Se un utente decide di revocare il consenso, assicurati di aggiornare gli stati del consenso di conseguenza e disabilita di nuovo la raccolta di Analytics utilizzando setAnalyticsCollectionEnabled().

Nell'ambito del nostro costante impegno verso un ecosistema pubblicitario digitale nel rispetto della privacy, stiamo rafforzando l'applicazione delle nostre Norme relative al consenso degli utenti dell'UE.

Scopri di più sugli aggiornamenti alla modalità di consenso per il traffico nello Spazio economico europeo (SEE) di Google.

Gli utenti in modalità di consenso devono inviare due nuovi parametri oltre all'archiviazione degli annunci e dell'analisi:

  1. Aggiorna il file info.plist dell'app in modo che includa:

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. Aggiorna le chiamate al consenso in modo da includere i parametri per i dati utente degli annunci e la personalizzazione degli annunci:

    Swift

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

    Objective-C

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

Puoi verificare che le impostazioni relative al consenso funzionino come previsto, visualizzando la console di debug Xcode per la tua app.

Segui questi passaggi:

  1. Attiva il logging dettagliato sul dispositivo.
  2. Nella console di debug Xcode, cerca:

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    Ad esempio, se l'archiviazione degli annunci è attivata, verrà visualizzato il seguente messaggio:

    ad_storage is granted.