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
- 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. - Aplikacja może w razie potrzeby poprosić o nowy
InstanceID
za pomocą metodygetID()
. Jeśli masz serwer, który obsługuje Twoją aplikację, może ona przechowywać na nim dane. - Aplikacja może w razie potrzeby żądać tokenów z usługi identyfikatora instancji za pomocą metody
getToken()
. Podobnie jak w przypadkuInstanceID
aplikacja może też przechowywać tokeny na własnym serwerze. Wszystkie tokeny wydane Twojej aplikacji należą doInstanceID
aplikacji. - 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 Android i iOS.