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
- 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. - W razie potrzeby aplikacja może poprosić o nowy element
InstanceID
przy użyciu metodygetID()
. Aplikacja może przechowywać ją na serwerze, jeśli masz taki, który ją obsługuje. - W razie potrzeby aplikacja może żądać tokenów z usługi identyfikatora instancji za pomocą metody
getToken()
. Aplikacja (tak jakInstanceID
) może też przechowywać tokeny na Twoim serwerze. Wszystkie tokeny wydane dla Twojej aplikacji należą do jej kontaInstanceID
. - 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.