Co to jest identyfikator instancji?

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

  1. 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.
  2. Aplikacja może w razie potrzeby poprosić o nowe żądanie InstanceID, korzystając z metody getID(). Aplikacja może przechowywać ją na serwerze, jeśli masz taki serwer.
  3. W razie potrzeby aplikacja może żądać tokenów z usługi identyfikatora instancji za pomocą metody getToken(). Podobnie jak InstanceID aplikacja może również przechowywać tokeny na Twoim serwerze. Wszystkie tokeny wydane dla Twojej aplikacji należą do jej InstanceID.
  4. 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.

Cykl życia 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.