Co to jest identyfikator instancji?

Najważniejsze funkcje

Oprócz udostępniania unikalnych identyfikatorów do uwierzytelniania identyfikator instancji może generować tokeny zabezpieczające do użycia w innych usługach. Inne funkcje to:

Generowanie tokenów zabezpieczających

Identyfikator instancji udostępnia prosty interfejs API do generowania tokenów zabezpieczających, które autoryzują dostęp innych firm do zasobów zarządzanych po stronie serwera aplikacji.

Weryfikowanie autentyczności aplikacji

Przekaż tokeny identyfikatora instancji na serwer i użyj usługi identyfikatora instancji, aby zweryfikować nazwę pakietu aplikacji i sprawdzić, czy ma ona prawidłowy podpis. Weryfikowanie tokenów za pomocą usługi Instance ID Cloud pomaga identyfikować znane aplikacje. Aby zmniejszyć koszty i wyeliminować zbędne komunikaty w obie strony, skonfiguruj serwer tak, aby przechowywał te tokeny. Dzięki temu weryfikacja będzie potrzebna tylko raz. W przypadku 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.

Sprawdzanie, czy urządzenie z aplikacją jest aktywne

Serwer identyfikatorów instancji może podać datę ostatniego użycia urządzenia, na którym zainstalowana jest Twoja aplikacja. Na podstawie tych informacji możesz zdecydować, czy zachować dane z aplikacji, czy wysłać wiadomość push, aby ponownie zaangażować użytkowników.

Identyfikowanie i śledzenie aplikacji

Identyfikator instancji jest niepowtarzalny we wszystkich instancjach aplikacji na całym świecie, więc Twoja baza danych może go używać do jednoznacznego identyfikowania i śledzenia instancji aplikacji. Kod po stronie serwera może sprawdzić za pomocą usługi w chmurze Instance ID, czy identyfikator instancji jest autentyczny i czy jest taki sam jak identyfikator oryginalnej aplikacji, która zarejestrowała się 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. Gdy następnym razem aplikacja wywoła identyfikator instancji, otrzyma zupełnie nowy identyfikator instancji, który nie będzie powiązany z poprzednim.

Cykl życia identyfikatora instancji

  1. Usługa Instance ID wydaje InstanceID, gdy Twoja aplikacja jest online. InstanceID jest zabezpieczony parą kluczy publicznego i prywatnego. Klucz prywatny jest przechowywany na urządzeniu lokalnym, a klucz publiczny jest zarejestrowany w usłudze identyfikatora instancji.
  2. Aplikacja może w razie potrzeby poprosić o nowy InstanceID za pomocą metody getID(). Jeśli masz serwer, który obsługuje Twoją aplikację, może ona przechowywać na nim dane.
  3. Aplikacja może w razie potrzeby żądać tokenów z usługi identyfikatora instancji za pomocą metody getToken(). Podobnie jak w przypadku InstanceID aplikacja może też przechowywać tokeny na własnym serwerze. Wszystkie tokeny wydane Twojej aplikacji należą do InstanceID aplikacji.
  4. Tokeny są unikalne i bezpieczne, ale w przypadku problemu z bezpieczeństwem lub gdy użytkownik odinstaluje i ponownie zainstaluje aplikację podczas przywracania urządzenia, aplikacja lub usługa identyfikatora instancji może wymagać odświeżenia tokenów. Aplikacja musi zaimplementować odbiornik, który będzie odpowiadać na żądania odświeżenia tokena z usługi identyfikatora instancji.

Wdrożenie po stronie klienta

Identyfikator instancji działa zarówno na Androidzie, jak i na iOS. W każdym przypadku musisz uwzględnić odpowiednią bibliotekę w aplikacji klienta. W przypadku Androida wymagane są Usługi Google Play. Jeśli chcesz generować tokeny, musisz mieć identyfikator projektu wygenerowany przez Google Developers Console.

Szczegółowe instrukcje znajdziesz w przewodnikach po wdrażaniu na AndroidiOS.