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:
- Wiadomości w chmurze: zapobiegaj automatycznej inicjalizacji (Android) lub zapobiegaj automatycznej inicjalizacji (iOS+)
- Zgłaszanie awarii: Włącz raportowanie wyrażające zgodę
- Analityka: skonfiguruj zbieranie danych Analytics
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:
- Wiadomości w chmurze: zapobiegaj automatycznej inicjalizacji (Android) lub zapobiegaj automatycznej inicjalizacji (iOS+)
- Zgłaszanie awarii: Włącz raportowanie wyrażające zgodę
- Analityka: skonfiguruj zbieranie danych Analytics