Zarządzaj danymi identyfikatora instancji

Identyfikatory instancji identyfikują poszczególne instalacje Twojej aplikacji. Ponieważ każdy identyfikator instancji jest unikalny dla konkretnej aplikacji i urządzenia, umożliwia usługom Firebase odwoływanie się do konkretnych wystąpień aplikacji. Na przykład Cloud Messaging używa identyfikatorów instancji, aby określić, do których urządzeń wysłać wiadomości.

Kilka usług Firebase korzysta z identyfikatorów instancji do obsługi swoich funkcji:

  • Analityka
  • Crashlytics
  • Wiadomości w chmurze
  • Zdalna konfiguracja

Zarządzaj danymi aplikacji powiązanymi z identyfikatorami instancji

Usługi korzystające z identyfikatorów instancji do identyfikacji instalacji wykorzystują je również jako klucz do powiązania odpowiednich danych z tym urządzeniem. Na przykład Crashlytics używa identyfikatorów instancji do rejestrowania awarii zachodzących na urządzeniu, Remote Config używa ich do pobierania konfiguracji, a Analytics używa identyfikatorów instancji do śledzenia określonych odbiorców.

Dane powiązane z identyfikatorami instancji zazwyczaj nie umożliwiają identyfikacji osoby, ale nadal pomocne może być umożliwienie użytkownikom zarządzania nimi. W tym celu Firebase oferuje dwa sposoby zarządzania gromadzeniem danych związanych z identyfikatorem instancji:

  • Usuń identyfikatory instancji. Możesz usunąć identyfikator instancji za pomocą wywołania API po stronie serwera lub klienta. Usunięcie identyfikatora instancji powoduje usunięcie samego identyfikatora i wszystkich powiązanych z nim danych.
  • Wyłącz usługi generujące identyfikatory. Większość usług Firebase korzystających z identyfikatorów instancji automatycznie generuje nowy identyfikator, jeśli nie ma go na urządzeniu po uruchomieniu. Aby mieć pewność, że aplikacja nie utworzy niechcianych identyfikatorów instancji, wyłącz automatyczną inicjalizację tych usług.

Usuń identyfikator instancji

Usunięcie identyfikatora instancji powoduje również usunięcie danych powiązanych z tym identyfikatorem w dowolnej z usług Firebase wymienionych powyżej. To sprawia, że ​​usuwanie identyfikatora jest pomocnym narzędziem w czyszczeniu danych użytkownika, ale wiąże się z zastrzeżeniem: jeśli korzystasz z wielu usług korzystających z identyfikatorów instancji, usunięcie identyfikatora powoduje wyczyszczenie danych z nich wszystkich .

Usługa Identyfikator instancji utworzy nowy identyfikator w ciągu kilku dni, chyba że wyłączysz w aplikacji wszystkie usługi generujące identyfikator instancji. Firebase traktuje nowo utworzony identyfikator jako zupełnie nową instancję aplikacji i nie wiąże go w żaden sposób z poprzednim identyfikatorem.

Usuń identyfikator za pomocą wywołania interfejsu API klienta

Aby usunąć identyfikatory wygenerowane przez usługi Firebase, wywołaj odpowiednią metodę z API Firebase Instance ID:

Szybki

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

Cel C

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

Android

FirebaseInstanceId.deleteInstanceId();

Usuń identyfikator za pomocą wywołania API serwera

Aby usunąć identyfikator instancji z wywołaniami API serwera, dodaj pakiet Firebase Admin SDK do swojego serwera , jeśli jeszcze tego nie zrobiłeś.

Po dodaniu usuń identyfikatory poprzez wywołanie funkcji usuwania identyfikatorów instancji w wybranym przez Ciebie języku:

Node.js

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

admin.instanceId().deleteInstanceId(idToDelete);

Jawa

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

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

Pyton

  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)

Iść

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

Gdy usuniesz identyfikator instancji za pomocą wywołania interfejsu API serwera, usługi Firebase usuwają powiązane dane, przestają akceptować nowe dane dla tego identyfikatora i w ciągu kilku dni powiadamiają aplikację kliencką, że identyfikator został usunięty. Dopóki Firebase nie powiadomi aplikacji klienckiej, niektóre usługi aplikacji mogą mieć ograniczoną funkcjonalność.

Jeśli chcesz usunąć bieżący identyfikator instancji i natychmiast korzystać z usług Firebase z nowym, niezależnym identyfikatorem, użyj jednego z powyższych interfejsów API klienta, aby obsłużyć usunięcie.

Wyłącz generowanie identyfikatora instancji

Usługi korzystające z identyfikatorów instancji automatycznie generują nowy identyfikator po zainicjowaniu w aplikacji, która obecnie go nie ma. Zazwyczaj usługi te są również inicjowane automatycznie po uruchomieniu aplikacji. Aby wyłączyć generowanie identyfikatora instancji, musisz wyłączyć automatyczną inicjalizację usług, które z nich korzystają.

Powszechnym podejściem jest umożliwienie użytkownikom wyrażenia zgody na gromadzenie danych: wyłączenie automatycznej inicjalizacji usług korzystających z identyfikatorów instancji, wdrożenie okna dialogowego monitującego użytkowników o zgodę na gromadzenie danych oraz ręczne włączenie usług raz masz zgodę.

Przeczytaj poniższe przewodniki, aby dowiedzieć się, jak wyłączyć automatyczną inicjalizację usług korzystających z identyfikatora instancji i zamiast tego zainicjować je ręcznie:

,

Identyfikatory instancji identyfikują poszczególne instalacje Twojej aplikacji. Ponieważ każdy identyfikator instancji jest unikalny dla konkretnej aplikacji i urządzenia, umożliwia usługom Firebase odwoływanie się do konkretnych wystąpień aplikacji. Na przykład Cloud Messaging używa identyfikatorów instancji, aby określić, do których urządzeń wysłać wiadomości.

Kilka usług Firebase korzysta z identyfikatorów instancji do obsługi swoich funkcji:

  • Analityka
  • Crashlytics
  • Wiadomości w chmurze
  • Zdalna konfiguracja

Zarządzaj danymi aplikacji powiązanymi z identyfikatorami instancji

Usługi korzystające z identyfikatorów instancji do identyfikacji instalacji wykorzystują je również jako klucz do powiązania odpowiednich danych z tym urządzeniem. Na przykład Crashlytics używa identyfikatorów instancji do rejestrowania awarii zachodzących na urządzeniu, Remote Config używa ich do pobierania konfiguracji, a Analytics używa identyfikatorów instancji do śledzenia określonych odbiorców.

Dane powiązane z identyfikatorami instancji zazwyczaj nie umożliwiają identyfikacji osoby, ale nadal pomocne może być umożliwienie użytkownikom zarządzania nimi. W tym celu Firebase oferuje dwa sposoby zarządzania gromadzeniem danych związanych z identyfikatorem instancji:

  • Usuń identyfikatory instancji. Możesz usunąć identyfikator instancji za pomocą wywołania API po stronie serwera lub klienta. Usunięcie identyfikatora instancji powoduje usunięcie samego identyfikatora i wszystkich powiązanych z nim danych.
  • Wyłącz usługi generujące identyfikatory. Większość usług Firebase korzystających z identyfikatorów instancji automatycznie generuje nowy identyfikator, jeśli nie ma go na urządzeniu po uruchomieniu. Aby mieć pewność, że aplikacja nie utworzy niechcianych identyfikatorów instancji, wyłącz automatyczną inicjalizację tych usług.

Usuń identyfikator instancji

Usunięcie identyfikatora instancji powoduje również usunięcie danych powiązanych z tym identyfikatorem w dowolnej z usług Firebase wymienionych powyżej. To sprawia, że ​​usuwanie identyfikatora jest pomocnym narzędziem w czyszczeniu danych użytkownika, ale wiąże się z zastrzeżeniem: jeśli korzystasz z wielu usług korzystających z identyfikatorów instancji, usunięcie identyfikatora powoduje wyczyszczenie danych z nich wszystkich .

Usługa Identyfikator instancji utworzy nowy identyfikator w ciągu kilku dni, chyba że wyłączysz w aplikacji wszystkie usługi generujące identyfikator instancji. Firebase traktuje nowo utworzony identyfikator jako zupełnie nową instancję aplikacji i nie wiąże go w żaden sposób z poprzednim identyfikatorem.

Usuń identyfikator za pomocą wywołania interfejsu API klienta

Aby usunąć identyfikatory wygenerowane przez usługi Firebase, wywołaj odpowiednią metodę z API Firebase Instance ID:

Szybki

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

Cel C

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

Android

FirebaseInstanceId.deleteInstanceId();

Usuń identyfikator za pomocą wywołania API serwera

Aby usunąć identyfikator instancji z wywołaniami API serwera, dodaj pakiet Firebase Admin SDK do swojego serwera , jeśli jeszcze tego nie zrobiłeś.

Po dodaniu usuń identyfikatory poprzez wywołanie funkcji usuwania identyfikatorów instancji w wybranym przez Ciebie języku:

Node.js

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

admin.instanceId().deleteInstanceId(idToDelete);

Jawa

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

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

Pyton

  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)

Iść

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

Gdy usuniesz identyfikator instancji za pomocą wywołania interfejsu API serwera, usługi Firebase usuwają powiązane dane, przestają akceptować nowe dane dla tego identyfikatora i w ciągu kilku dni powiadamiają aplikację kliencką, że identyfikator został usunięty. Dopóki Firebase nie powiadomi aplikacji klienckiej, niektóre usługi aplikacji mogą mieć ograniczoną funkcjonalność.

Jeśli chcesz usunąć bieżący identyfikator instancji i natychmiast korzystać z usług Firebase z nowym, niezależnym identyfikatorem, użyj jednego z powyższych interfejsów API klienta, aby obsłużyć usunięcie.

Wyłącz generowanie identyfikatora instancji

Usługi korzystające z identyfikatorów instancji automatycznie generują nowy identyfikator po zainicjowaniu w aplikacji, która obecnie go nie ma. Zazwyczaj usługi te są również inicjowane automatycznie po uruchomieniu aplikacji. Aby wyłączyć generowanie identyfikatora instancji, musisz wyłączyć automatyczną inicjalizację usług, które z nich korzystają.

Powszechnym podejściem jest umożliwienie użytkownikom wyrażenia zgody na gromadzenie danych: wyłączenie automatycznej inicjalizacji usług korzystających z identyfikatorów instancji, wdrożenie okna dialogowego monitującego użytkowników o zgodę na gromadzenie danych oraz ręczne włączenie usług raz masz zgodę.

Przeczytaj poniższe przewodniki, aby dowiedzieć się, jak wyłączyć automatyczną inicjalizację usług korzystających z identyfikatora instancji i zamiast tego zainicjować je ręcznie: