Che cos'è l'ID istanza?

L'ID istanza fornisce un ID univoco per ogni istanza delle app. Puoi implementare l'ID istanza per le app per Android e iOS, nonché le app/estensioni di Chrome.

Funzionalità principali

Oltre a fornire ID univoci per l'autenticazione, l'ID istanza può generare token di sicurezza da utilizzare con altri servizi. Altre funzionalità includono:

Genera token di sicurezza

L'ID istanza fornisce una semplice API per generare token di sicurezza che autorizzano terze parti ad accedere alle risorse gestite lato server della tua app. Utilizza questi token per autorizzare i messaggi push per le tue app tramite Google Cloud Messaging.

Verificare l'autenticità dell'app

Passa i token ID istanza al server e utilizza il servizio ID istanza per verificare il nome del pacchetto dell'app e verificare se ha una firma valida. La verifica dei token con il servizio cloud dell'ID istanza aiuta a identificare le app note. Per ridurre i costi e le comunicazioni ridondanti di round trip, configura il tuo server per archiviare i token in modo che il controllo sia necessario solo una volta. In caso di problemi di sicurezza, la tua app può "eliminare i token" o l'ID istanza stesso e generarne di nuovi. Inoltre, il server ID istanza avvia un aggiornamento del token o dell'ID istanza se rileva bug o problemi di sicurezza.

Verifica che il dispositivo sia attivo

Il server ID istanza può indicarti quando è stato utilizzato l'ultima volta il dispositivo su cui è stata installata la tua app. Utilizza questa opzione per decidere se conservare i dati della tua app o inviare un messaggio push per coinvolgere nuovamente gli utenti.

Identifica e monitora le app

L'ID istanza è univoco in tutte le istanze dell'app nel mondo, quindi il tuo database può utilizzarlo per identificare e monitorare in modo univoco le istanze app. Il tuo codice lato server può verificare, tramite il servizio cloud ID istanza, che un ID istanza sia autentico e sia lo stesso ID dell'app originale registrata sul server. Per motivi di privacy, la tua app può eliminare un ID istanza in modo che non sia più associata a nessuna cronologia nel database. La prossima volta che la tua app chiamerà ID istanza, riceverà un ID istanza completamente nuovo senza relazione con quello precedente.

Ciclo di vita di ID istanza

  1. Il servizio ID istanza emette un InstanceID quando la tua app è online. Il InstanceID è supportato da una coppia di chiavi pubblica/privata con la chiave privata memorizzata sul dispositivo locale e la chiave pubblica registrata con il servizio ID istanza.
  2. La tua app può richiedere un nuovo InstanceID quando necessario utilizzando il metodo getID(). La tua app può archiviarla sul tuo server se ne hai una che supporta la tua app.
  3. La tua app può richiedere token al servizio ID istanza in base alle esigenze utilizzando il metodo getToken() e, come InstanceID, può archiviare i token anche sul tuo server. Tutti i token emessi per la tua app appartengono all'app di InstanceID.
  4. I token sono univoci e sicuri, ma potrebbe essere necessario aggiornare i token dell'app o del servizio ID istanza in caso di problemi di sicurezza o quando un utente disinstalla e reinstalla l'app durante il ripristino del dispositivo. L'app deve implementare un listener per rispondere alle richieste di aggiornamento del token dal servizio ID istanza.

Ciclo di vita ID istanza

Implementazione client

L'ID istanza viene eseguito sia su Android che su iOS. Ciascuno di essi richiede di includere la libreria appropriata nell'app client. Android richiede Google Play Services. Se intendi generare token, devi disporre di un ID progetto generato da Google Developers Console.

Per istruzioni dettagliate, consulta le guide all'implementazione di Android e iOS.