Che cos'è l'ID istanza?

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à:

Genera token di sicurezza

Instance ID fornisce un'API semplice per generare token di sicurezza che autorizzano terze parti ad accedere alle risorse gestite lato server della tua app.

Verificare l'autenticità dell'app

Passa i token ID istanza al tuo server e utilizza il servizio ID istanza per verificare il nome del pacchetto dell'app e controllare se ha una firma valida. La verifica dei token con il servizio cloud Instance ID consente di identificare le app conosciute. Per ridurre i costi e le comunicazioni di andata e ritorno ridondanti, configura il server in modo da memorizzare questi token in modo che il controllo sia necessario solo una volta. In caso di problemi di sicurezza, l'app può eliminare i token o l'ID istanza stessa e generarne di nuovi. Inoltre, il server ID istanza avvia l'aggiornamento del token o dell'ID istanza se rileva bug o problemi di sicurezza.

Verifica che il dispositivo dell'app sia attivo

Il server ID istanza può dirti quando è stato utilizzato l'ultimo dispositivo su cui è installata la tua app. Utilizzalo per decidere se conservare i dati della tua app o inviare un messaggio push per coinvolgere nuovamente gli utenti.

Identificare e monitorare le app

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

Ciclo di vita dell'ID istanza

  1. Il servizio ID istanza emette un InstanceID quando l'app viene messa online. 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 Instance ID.
  2. L'app può richiedere un nuovo InstanceID ogni volta che è necessario utilizzando il metodo getID(). La tua app può archiviarli sul tuo server, se ne hai uno che supporta la tua app.
  3. La tua app può richiedere token dal servizio Instance ID in base alle esigenze utilizzando il metodo getToken() e, come InstanceID, può anche archiviare i token sul tuo server. Tutti i token emessi per la tua app appartengono al InstanceID dell'app.
  4. I token sono univoci e sicuri, ma la tua app o il servizio Instance ID potrebbe doverli aggiornare in caso di problemi di sicurezza o quando un utente disinstalla e reinstalla la tua app durante il ripristino del dispositivo. L'app deve implementare un ascoltatore per rispondere alle richieste di aggiornamento dei token dal servizio ID istanza.

Implementazione del client

L'ID istanza funziona sia su Android che su iOS. Ognuno 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 per Android e iOS.