Gestisci i dati dell'ID istanza

Gli ID istanza identificano le singole installazioni della tua app. Poiché ogni ID istanza è univoco per un'app e un dispositivo specifici, fornisce ai servizi Firebase un modo per fare riferimento a istanze di app specifiche. Ad esempio, Cloud Messaging utilizza gli ID istanza per determinare a quali dispositivi inviare messaggi.

Diversi servizi Firebase utilizzano gli ID istanza per potenziare le proprie funzionalità:

  • Analitica
  • Crashlytics
  • Messaggistica sul cloud
  • Configurazione remota

Gestisci i dati delle app associati agli ID istanza

I servizi che utilizzano gli ID istanza per identificare le installazioni li utilizzano anche come chiave per associare i dati rilevanti a quel dispositivo. Ad esempio, Crashlytics utilizza gli ID istanza per registrare gli arresti anomali che si verificano sul dispositivo, Remote Config li utilizza per recuperare le configurazioni e Analytics utilizza gli ID istanza per tenere traccia di segmenti di pubblico particolari.

I dati associati agli ID istanza generalmente non consentono l'identificazione personale, ma può comunque essere utile offrire agli utenti la possibilità di gestirli. A tal fine, Firebase offre due modi per gestire la raccolta dei dati relativi all'ID istanza:

  • Elimina gli ID istanza. Puoi eliminare un ID istanza con una chiamata API lato server o client. L'eliminazione di un ID istanza elimina l'ID stesso e tutti i dati ad esso associati.
  • Disabilita i servizi che generano ID. La maggior parte dei servizi Firebase che utilizzano gli ID istanza generano automaticamente un nuovo ID se non ne è presente uno sul dispositivo all'avvio. Per assicurarti che la tua app non crei ID istanza indesiderati, disabilita l'inizializzazione automatica per tali servizi.

Elimina un ID istanza

L'eliminazione di un ID istanza elimina anche i dati associati a tale ID in uno qualsiasi dei servizi Firebase elencati sopra. Ciò rende l'eliminazione dell'ID uno strumento utile per cancellare i dati dell'utente, ma comporta anche un avvertimento: se stai utilizzando più servizi che si basano sugli ID istanza, l'eliminazione di un ID cancella i dati da tutti loro.

Il servizio ID istanza crea un nuovo ID entro pochi giorni, a meno che non disabiliti tutti i servizi di generazione di ID istanza nella tua app. Firebase considera l'ID appena creato come una nuova istanza dell'app e non lo associa in alcun modo all'ID precedente.

Elimina un ID con una chiamata API client

Per eliminare gli ID generati dai servizi Firebase, chiama il metodo appropriato dall'API ID istanza Firebase:

Veloce

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

Obiettivo-C

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

Androide

FirebaseInstanceId.deleteInstanceId();

Elimina un ID con una chiamata API del server

Per eliminare un ID istanza con chiamate API del server, aggiungi l'SDK Admin Firebase al tuo server , se non l'hai già fatto.

Una volta aggiunto, elimina gli ID tramite una chiamata alla funzione di eliminazione dell'ID istanza nella lingua che preferisci:

Node.js

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

Giava

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

Pitone

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

Andare

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "INSTANCE_ID"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting iid", err)
}

Quando elimini un ID istanza con una chiamata API del server, i servizi Firebase eliminano i dati associati, smettono di accettare nuovi dati per quell'ID e, entro pochi giorni, notificano all'app client che l'ID è stato eliminato. Fino a quando Firebase non invia una notifica all'app client, alcuni servizi dell'app potrebbero presentare funzionalità ridotte.

Se desideri eliminare l'ID istanza corrente e utilizzare immediatamente i servizi Firebase con un nuovo ID indipendente, utilizza una delle API client sopra per gestire l'eliminazione.

Disabilita la generazione dell'ID istanza

I servizi che utilizzano gli ID istanza generano automaticamente un nuovo ID quando vengono inizializzati in un'app che attualmente non ne dispone. In genere, questi servizi vengono inizializzati automaticamente anche all'avvio dell'app. Per disabilitare la generazione di ID istanza, devi disabilitare l'inizializzazione automatica per i servizi che li utilizzano.

Un approccio comune consiste nel fornire agli utenti la possibilità di aderire alla raccolta dati: disattivare l'inizializzazione automatica per i servizi che utilizzano ID istanza, implementare una finestra di dialogo che richieda agli utenti il ​​consenso alla raccolta dati e riattivare manualmente i servizi una volta hai il consenso.

Leggi le guide di seguito per scoprire come disabilitare l'inizializzazione automatica per i servizi che utilizzano ID istanza e inizializzarli invece manualmente:

,

Gli ID istanza identificano le singole installazioni della tua app. Poiché ogni ID istanza è univoco per un'app e un dispositivo specifici, fornisce ai servizi Firebase un modo per fare riferimento a istanze di app specifiche. Ad esempio, Cloud Messaging utilizza gli ID istanza per determinare a quali dispositivi inviare messaggi.

Diversi servizi Firebase utilizzano gli ID istanza per potenziare le proprie funzionalità:

  • Analitica
  • Crashlytics
  • Messaggistica sul cloud
  • Configurazione remota

Gestisci i dati delle app associati agli ID istanza

I servizi che utilizzano gli ID istanza per identificare le installazioni li utilizzano anche come chiave per associare i dati rilevanti a quel dispositivo. Ad esempio, Crashlytics utilizza gli ID istanza per registrare gli arresti anomali che si verificano sul dispositivo, Remote Config li utilizza per recuperare le configurazioni e Analytics utilizza gli ID istanza per tenere traccia di segmenti di pubblico particolari.

I dati associati agli ID istanza generalmente non consentono l'identificazione personale, ma può comunque essere utile offrire agli utenti la possibilità di gestirli. A tal fine, Firebase offre due modi per gestire la raccolta dei dati relativi all'ID istanza:

  • Elimina gli ID istanza. Puoi eliminare un ID istanza con una chiamata API lato server o client. L'eliminazione di un ID istanza elimina l'ID stesso e tutti i dati ad esso associati.
  • Disabilita i servizi che generano ID. La maggior parte dei servizi Firebase che utilizzano gli ID istanza generano automaticamente un nuovo ID se non ne è presente uno sul dispositivo all'avvio. Per assicurarti che la tua app non crei ID istanza indesiderati, disabilita l'inizializzazione automatica per tali servizi.

Elimina un ID istanza

L'eliminazione di un ID istanza elimina anche i dati associati a tale ID in uno qualsiasi dei servizi Firebase elencati sopra. Ciò rende l'eliminazione dell'ID uno strumento utile per cancellare i dati dell'utente, ma comporta anche un avvertimento: se stai utilizzando più servizi che si basano sugli ID istanza, l'eliminazione di un ID cancella i dati da tutti loro.

Il servizio ID istanza crea un nuovo ID entro pochi giorni, a meno che non disabiliti tutti i servizi di generazione di ID istanza nella tua app. Firebase considera l'ID appena creato come una nuova istanza dell'app e non lo associa in alcun modo all'ID precedente.

Elimina un ID con una chiamata API client

Per eliminare gli ID generati dai servizi Firebase, chiama il metodo appropriato dall'API ID istanza Firebase:

Veloce

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

Obiettivo-C

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

Androide

FirebaseInstanceId.deleteInstanceId();

Elimina un ID con una chiamata API del server

Per eliminare un ID istanza con chiamate API del server, aggiungi l'SDK Admin Firebase al tuo server , se non l'hai già fatto.

Una volta aggiunto, elimina gli ID tramite una chiamata alla funzione di eliminazione dell'ID istanza nella lingua che preferisci:

Node.js

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

Giava

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

Pitone

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

Andare

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "INSTANCE_ID"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting iid", err)
}

Quando elimini un ID istanza con una chiamata API del server, i servizi Firebase eliminano i dati associati, smettono di accettare nuovi dati per quell'ID e, entro pochi giorni, notificano all'app client che l'ID è stato eliminato. Fino a quando Firebase non invia una notifica all'app client, alcuni servizi dell'app potrebbero presentare funzionalità ridotte.

Se desideri eliminare l'ID istanza corrente e utilizzare immediatamente i servizi Firebase con un nuovo ID indipendente, utilizza una delle API client sopra per gestire l'eliminazione.

Disabilita la generazione dell'ID istanza

I servizi che utilizzano gli ID istanza generano automaticamente un nuovo ID quando vengono inizializzati in un'app che attualmente non ne dispone. In genere, questi servizi vengono inizializzati automaticamente anche all'avvio dell'app. Per disabilitare la generazione di ID istanza, devi disabilitare l'inizializzazione automatica per i servizi che li utilizzano.

Un approccio comune consiste nel fornire agli utenti la possibilità di aderire alla raccolta dati: disattivare l'inizializzazione automatica per i servizi che utilizzano ID istanza, implementare una finestra di dialogo che richieda agli utenti il ​​consenso alla raccolta dati e riattivare manualmente i servizi una volta hai il consenso.

Leggi le guide di seguito per scoprire come disabilitare l'inizializzazione automatica per i servizi che utilizzano ID istanza e inizializzarli invece manualmente: