Co to jest identyfikator instancji?

Najważniejsze funkcje

Oprócz dostarczania unikalnych identyfikatorów do uwierzytelniania identyfikator instancji może też generować tokeny zabezpieczeń do użycia z innymi usługami. Inne funkcje:

Generowanie tokenów zabezpieczeń

Identyfikator instancji zapewnia prosty interfejs API do generowania tokenów zabezpieczeń, które autoryzują inne firmy w celu uzyskania dostępu do zasobów zarządzanych po stronie serwera Twojej aplikacji.

Weryfikowanie autentyczności aplikacji

Przekaż tokeny identyfikatora instancji na serwer i używaj usługi identyfikatora instancji, aby zweryfikować nazwę pakietu aplikacji i sprawdzić, czy ma on prawidłowy podpis. Weryfikacja tokenów przy użyciu usługi Cloud ID instancji ułatwia identyfikowanie znanych aplikacji. Aby zmniejszyć koszty i nadmiarową komunikację w obie strony, skonfiguruj serwer do przechowywania tych tokenów tak, aby sprawdzanie było potrzebne tylko raz. W przypadku problemów z bezpieczeństwem aplikacja może usuwać tokeny lub sam identyfikator instancji i generować nowe. Dodatkowo po wykryciu błędów lub problemów z zabezpieczeniami serwer identyfikatora instancji inicjuje odświeżenie tokena lub identyfikatora instancji.

Potwierdź, że urządzenie z aplikacją jest aktywne

Serwer identyfikatora instancji może informować, kiedy urządzenie, na którym zainstalowano Twoją aplikację, było ostatnio używane. Dzięki temu 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 dla wszystkich instancji aplikacji na całym świecie, więc Twoja baza danych może go użyć do jednoznacznego identyfikowania i śledzenia instancji aplikacji. Twój kod po stronie serwera może za pomocą usługi w chmurze identyfikatora instancji sprawdzać, czy identyfikator instancji jest prawidłowy i czy odpowiada pierwotnej aplikacji zarejestrowanej na serwerze. Ze względu na prywatność 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, otrzyma zupełnie nowy identyfikator instancji niezwiązany z poprzednim.

Cykl życia identyfikatora instancji

  1. Usługa identyfikatora instancji wysyła żądanie InstanceID, gdy aplikacja jest online. InstanceID jest obsługiwany przez parę kluczy publiczny/prywatny z kluczem prywatnym przechowywanym na urządzeniu lokalnym i kluczem publicznym zarejestrowanym w usłudze identyfikatora instancji.
  2. W razie potrzeby aplikacja może poprosić o nowy element InstanceID przy użyciu metody getID(). Aplikacja może przechowywać ją na serwerze, jeśli masz taki, który ją obsługuje.
  3. W razie potrzeby aplikacja może żądać tokenów z usługi identyfikatora instancji za pomocą metody getToken(). Aplikacja (tak jak InstanceID) może też przechowywać tokeny na Twoim serwerze. Wszystkie tokeny wydane dla Twojej aplikacji należą do jej konta 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, konieczne może być odświeżenie tokenów. Aplikacja musi zaimplementować detektor, aby odpowiadać na żądania odświeżenia tokena wysyłane z usługi identyfikatora instancji.

Implementacja u klienta

Identyfikator instancji działa zarówno na urządzeniach z Androidem, jak i iOS. Każdy z nich wymaga dołączenia odpowiedniej biblioteki w aplikacji klienckiej. Android wymaga Usług Google Play. Jeśli chcesz generować tokeny, będziesz potrzebować identyfikatora projektu wygenerowanego przez Google Developers Console.

Szczegółowe instrukcje znajdziesz w przewodnikach po implementacji w przypadku Androida i iOS.