Identyfikator instancji zapewnia unikalny identyfikator każdej instancji aplikacji. Możesz zaimplementować identyfikator instancji dla aplikacji na Androida i iOS oraz dla aplikacji i rozszerzeń Chrome.
Najważniejsze funkcje
Oprócz dostarczania unikalnych identyfikatorów do uwierzytelniania identyfikator instancji może generować tokeny zabezpieczające do użytku w innych usługach. Inne funkcje to:
Generowanie tokenów zabezpieczeń
- Identyfikator instancji udostępnia prosty interfejs API do generowania tokenów zabezpieczeń, który zezwala innym firmom na dostęp do zasobów aplikacji zarządzanych po stronie serwera.
Sprawdzanie autentyczności aplikacji
- Przekaż tokeny identyfikatorów instancji na swój serwer i użyj usługi identyfikatora instancji, aby zweryfikować nazwę pakietu aplikacji i sprawdzić, czy ma ona prawidłowy podpis. Weryfikacja tokenów za pomocą usługi Cloud o identyfikatorze instancji ułatwia identyfikowanie znanych aplikacji. Aby zmniejszyć koszty i nadmiarową komunikację w obie strony, skonfiguruj serwer tak, aby przechowywał te tokeny w taki sposób, aby kontrola była wymagana tylko raz. W razie problemów z bezpieczeństwem aplikacja może usuwać tokeny lub sam identyfikator instancji i generować nowe. Dodatkowo serwer identyfikatora instancji inicjuje odświeżanie tokena lub identyfikatora instancji, jeśli wykryje błędy lub problemy z bezpieczeństwem.
Potwierdź, że urządzenie z aplikacją jest aktywne
- Serwer identyfikatora instancji może poinformować Cię, kiedy ostatnio było używane urządzenie, na którym zainstalowano Twoją aplikację. Na tej podstawie możesz zdecydować, czy chcesz zachować dane z aplikacji, czy wysłać wiadomość push, aby ponownie zaangażować użytkowników.
Identyfikowanie i śledzenie aplikacji
- Identyfikator instancji jest unikalny wśród wszystkich instancji aplikacji na całym świecie, więc Twoja baza danych może go używać do jednoznacznego identyfikowania i śledzenia instancji aplikacji. Twój kod po stronie serwera może za pomocą usługi w chmurze Identyfikator instancji potwierdzić, że identyfikator instancji jest prawidłowy i jest taki sam jak identyfikator pierwotnej aplikacji, która została zarejestrowana na Twoim serwerze. Ze względu na ochronę prywatności aplikacja może usunąć identyfikator instancji, aby nie był już powiązany z żadną historią w bazie danych. Następnym razem, gdy aplikacja wywoła identyfikator instancji, uzyska zupełnie nowy identyfikator bez związku z poprzednią.
Cykl życia identyfikatora instancji
- Usługa identyfikatora instancji wysyła
InstanceID
, gdy aplikacja jest online.InstanceID
korzysta z pary kluczy publiczny/prywatny – klucz prywatny zapisany na urządzeniu lokalnym i klucz publiczny zarejestrowany w usłudze identyfikatora instancji. - Aplikacja może w razie potrzeby poprosić o nowe żądanie
InstanceID
, korzystając z metodygetID()
. Aplikacja może przechowywać ją na serwerze, jeśli masz taki serwer. - W razie potrzeby aplikacja może żądać tokenów z usługi identyfikatora instancji za pomocą metody
getToken()
. Podobnie jakInstanceID
aplikacja może również przechowywać tokeny na Twoim serwerze. Wszystkie tokeny wydane dla Twojej aplikacji należą do jejInstanceID
. - Tokeny są unikalne i bezpieczne, ale w przypadku problemów z bezpieczeństwem lub gdy użytkownik odinstaluje i ponownie zainstaluje aplikację podczas przywracania urządzenia, może być konieczne odświeżanie tokenów przez aplikację lub usługę identyfikatora instancji. Twoja aplikacja musi zaimplementować detektor służący do odpowiadania na żądania odświeżania tokenów z usługi identyfikatora instancji.
Implementacja klienta
Identyfikator instancji działa zarówno na Androidzie, jak i w iOS. W przypadku każdego z nich musisz umieścić odpowiednią bibliotekę w aplikacji klienckiej. Android wymaga Usług Google Play. Jeśli chcesz generować tokeny, potrzebujesz identyfikatora projektu generowanego przez Google Developers Console.
Szczegółowe instrukcje znajdziesz w przewodnikach po implementacji w Androidzie i iOS.