Instanz-ID-Daten verwalten

Instanz-IDs identifizieren einzelne Installationen Ihrer App. Da jede Instanz-ID für eine bestimmte App und ein bestimmtes Gerät eindeutig ist, bieten sie Firebase-Diensten die Möglichkeit, auf bestimmte App-Instanzen zu verweisen. Cloud Messaging verwendet beispielsweise Instanz-IDs, um zu bestimmen, an welche Geräte Nachrichten gesendet werden sollen.

Mehrere Firebase-Dienste nutzen Instanz-IDs, um ihre Funktionen zu unterstützen:

  • Analytik
  • Crashlytics
  • Cloud-Messaging
  • Remote-Konfiguration

Mit Instanz-IDs verknüpfte App-Daten verwalten

Dienste, die Instanz-IDs zur Identifizierung von Installationen verwenden, nutzen diese auch als Schlüssel, um relevante Daten mit diesem Gerät zu verknüpfen. Crashlytics verwendet beispielsweise Instanz-IDs, um auf dem Gerät auftretende Abstürze aufzuzeichnen, Remote Config verwendet sie, um Konfigurationen abzurufen, und Analytics verwendet Instanz-IDs, um bestimmte Zielgruppen zu verfolgen.

Mit Instanz-IDs verknüpfte Daten sind im Allgemeinen nicht persönlich identifizierbar, es kann jedoch dennoch hilfreich sein, Benutzern die Möglichkeit zu geben, sie zu verwalten. Zu diesem Zweck bietet Firebase zwei Möglichkeiten zur Verwaltung der Datenerfassung im Zusammenhang mit der Instanz-ID:

  • Instanz-IDs löschen. Sie können eine Instanz-ID mit einem server- oder clientseitigen API-Aufruf löschen. Durch das Löschen einer Instanz-ID werden die ID selbst und alle damit verbundenen Daten gelöscht.
  • Deaktivieren Sie Dienste, die IDs generieren. Die meisten Firebase-Dienste, die Instanz-IDs verwenden, generieren beim Start automatisch eine neue ID, wenn auf dem Gerät keine vorhanden ist. Um sicherzustellen, dass Ihre App keine unerwünschten Instanz-IDs erstellt, deaktivieren Sie die automatische Initialisierung für diese Dienste.

Löschen Sie eine Instanz-ID

Durch das Löschen einer Instanz-ID werden auch mit dieser ID verknüpfte Daten in allen oben aufgeführten Firebase-Diensten gelöscht. Das macht das Löschen von IDs zu einem hilfreichen Tool beim Löschen von Benutzerdaten, bringt aber auch einen Vorbehalt mit sich: Wenn Sie mehrere Dienste verwenden, die auf Instanz-IDs basieren, werden durch das Löschen einer ID die Daten von allen gelöscht.

Der Instanz-ID-Dienst erstellt innerhalb weniger Tage eine neue ID, es sei denn, Sie deaktivieren alle Instanz-ID-generierenden Dienste in Ihrer App. Firebase betrachtet die neu erstellte ID als brandneue App-Instanz und verknüpft sie in keiner Weise mit der vorherigen ID.

Löschen Sie eine ID mit einem Client-API-Aufruf

Um von Firebase-Diensten generierte IDs zu löschen, rufen Sie die entsprechende Methode über die Firebase-Instanz-ID-API auf:

Schnell

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

Ziel c

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

Android

FirebaseInstanceId.deleteInstanceId();

Löschen Sie eine ID mit einem Server-API-Aufruf

Um eine Instanz-ID mit Server-API-Aufrufen zu löschen, fügen Sie das Firebase Admin SDK zu Ihrem Server hinzu , falls Sie dies noch nicht getan haben.

Sobald es hinzugefügt wurde, löschen Sie IDs durch einen Aufruf der Instanz-ID-Löschfunktion in der Sprache Ihrer Wahl:

Node.js

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

admin.instanceId().deleteInstanceId(idToDelete);

Java

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

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

Python

  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)

Gehen

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)
}

Wenn Sie eine Instanz-ID mit einem Server-API-Aufruf löschen, löschen die Firebase-Dienste die zugehörigen Daten, akzeptieren keine neuen Daten mehr für diese ID und benachrichtigen die Client-App innerhalb weniger Tage, dass die ID gelöscht wurde. Bis Firebase die Client-App benachrichtigt, kann die Funktionalität einiger Dienste der App eingeschränkt sein.

Wenn Sie die aktuelle Instanz-ID löschen und Firebase-Dienste sofort mit einer neuen, unabhängigen ID verwenden möchten, verwenden Sie eine der oben genannten Client-APIs, um den Löschvorgang durchzuführen.

Deaktivieren Sie die Generierung der Instanz-ID

Dienste, die Instanz-IDs verwenden, generieren automatisch eine neue ID, wenn sie in einer App initialisiert werden, die derzeit keine hat. Normalerweise werden diese Dienste auch automatisch initialisiert, wenn Ihre App gestartet wird. Um die Generierung von Instanz-IDs zu deaktivieren, müssen Sie die automatische Initialisierung für Dienste deaktivieren, die sie verwenden.

Ein gängiger Ansatz besteht darin, Benutzern die Möglichkeit zu geben, der Datenerfassung zuzustimmen: Deaktivieren Sie die automatische Initialisierung für die Dienste, die Instanz-IDs verwenden, implementieren Sie einen Dialog, der Benutzer zur Einwilligung in die Datenerfassung auffordert, und aktivieren Sie die Dienste einmal manuell wieder Sie haben Ihr Einverständnis.

Lesen Sie die folgenden Anleitungen, um herauszufinden, wie Sie die automatische Initialisierung für Instanz-ID-verwendende Dienste deaktivieren und diese stattdessen manuell initialisieren können:

,

Instanz-IDs identifizieren einzelne Installationen Ihrer App. Da jede Instanz-ID für eine bestimmte App und ein bestimmtes Gerät eindeutig ist, bieten sie Firebase-Diensten die Möglichkeit, auf bestimmte App-Instanzen zu verweisen. Cloud Messaging verwendet beispielsweise Instanz-IDs, um zu bestimmen, an welche Geräte Nachrichten gesendet werden sollen.

Mehrere Firebase-Dienste nutzen Instanz-IDs, um ihre Funktionen zu unterstützen:

  • Analytik
  • Crashlytics
  • Cloud-Messaging
  • Remote-Konfiguration

Mit Instanz-IDs verknüpfte App-Daten verwalten

Dienste, die Instanz-IDs zur Identifizierung von Installationen verwenden, nutzen diese auch als Schlüssel, um relevante Daten mit diesem Gerät zu verknüpfen. Crashlytics verwendet beispielsweise Instanz-IDs, um auf dem Gerät auftretende Abstürze aufzuzeichnen, Remote Config verwendet sie, um Konfigurationen abzurufen, und Analytics verwendet Instanz-IDs, um bestimmte Zielgruppen zu verfolgen.

Mit Instanz-IDs verknüpfte Daten sind im Allgemeinen nicht persönlich identifizierbar, es kann jedoch dennoch hilfreich sein, Benutzern die Möglichkeit zu geben, sie zu verwalten. Zu diesem Zweck bietet Firebase zwei Möglichkeiten zur Verwaltung der Datenerfassung im Zusammenhang mit der Instanz-ID:

  • Instanz-IDs löschen. Sie können eine Instanz-ID mit einem server- oder clientseitigen API-Aufruf löschen. Durch das Löschen einer Instanz-ID werden die ID selbst und alle damit verbundenen Daten gelöscht.
  • Deaktivieren Sie Dienste, die IDs generieren. Die meisten Firebase-Dienste, die Instanz-IDs verwenden, generieren beim Start automatisch eine neue ID, wenn auf dem Gerät keine vorhanden ist. Um sicherzustellen, dass Ihre App keine unerwünschten Instanz-IDs erstellt, deaktivieren Sie die automatische Initialisierung für diese Dienste.

Löschen Sie eine Instanz-ID

Durch das Löschen einer Instanz-ID werden auch mit dieser ID verknüpfte Daten in allen oben aufgeführten Firebase-Diensten gelöscht. Das macht das Löschen von IDs zu einem hilfreichen Tool beim Löschen von Benutzerdaten, bringt aber auch einen Vorbehalt mit sich: Wenn Sie mehrere Dienste verwenden, die auf Instanz-IDs basieren, werden durch das Löschen einer ID die Daten von allen gelöscht.

Der Instanz-ID-Dienst erstellt innerhalb weniger Tage eine neue ID, es sei denn, Sie deaktivieren alle Instanz-ID-generierenden Dienste in Ihrer App. Firebase betrachtet die neu erstellte ID als brandneue App-Instanz und verknüpft sie in keiner Weise mit der vorherigen ID.

Löschen Sie eine ID mit einem Client-API-Aufruf

Um von Firebase-Diensten generierte IDs zu löschen, rufen Sie die entsprechende Methode über die Firebase-Instanz-ID-API auf:

Schnell

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

Ziel c

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

Android

FirebaseInstanceId.deleteInstanceId();

Löschen Sie eine ID mit einem Server-API-Aufruf

Um eine Instanz-ID mit Server-API-Aufrufen zu löschen, fügen Sie das Firebase Admin SDK zu Ihrem Server hinzu , falls Sie dies noch nicht getan haben.

Sobald es hinzugefügt wurde, löschen Sie IDs durch einen Aufruf der Instanz-ID-Löschfunktion in der Sprache Ihrer Wahl:

Node.js

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

admin.instanceId().deleteInstanceId(idToDelete);

Java

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

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

Python

  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)

Gehen

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)
}

Wenn Sie eine Instanz-ID mit einem Server-API-Aufruf löschen, löschen die Firebase-Dienste die zugehörigen Daten, akzeptieren keine neuen Daten mehr für diese ID und benachrichtigen die Client-App innerhalb weniger Tage, dass die ID gelöscht wurde. Bis Firebase die Client-App benachrichtigt, kann die Funktionalität einiger Dienste der App eingeschränkt sein.

Wenn Sie die aktuelle Instanz-ID löschen und Firebase-Dienste sofort mit einer neuen, unabhängigen ID verwenden möchten, verwenden Sie eine der oben genannten Client-APIs, um den Löschvorgang durchzuführen.

Deaktivieren Sie die Generierung der Instanz-ID

Dienste, die Instanz-IDs verwenden, generieren automatisch eine neue ID, wenn sie in einer App initialisiert werden, die derzeit keine hat. Normalerweise werden diese Dienste auch automatisch initialisiert, wenn Ihre App gestartet wird. Um die Generierung von Instanz-IDs zu deaktivieren, müssen Sie die automatische Initialisierung für Dienste deaktivieren, die sie verwenden.

Ein gängiger Ansatz besteht darin, Benutzern die Möglichkeit zu geben, der Datenerfassung zuzustimmen: Deaktivieren Sie die automatische Initialisierung für die Dienste, die Instanz-IDs verwenden, implementieren Sie einen Dialog, der Benutzer zur Einwilligung in die Datenerfassung auffordert, und aktivieren Sie die Dienste einmal manuell wieder Sie haben Ihr Einverständnis.

Lesen Sie die folgenden Anleitungen, um herauszufinden, wie Sie die automatische Initialisierung für Instanz-ID-verwendende Dienste deaktivieren und diese stattdessen manuell initialisieren können: