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

Generare 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.

Verificare l'autenticità dell'app

Trasferisci i token ID istanza al tuo server e utilizza il servizio ID istanza per verificare il nome pacchetto dell'app e controllare se ha una firma valida. La verifica dei token con il servizio cloud ID istanza aiuta a identificare le app note. Per ridurre i costi e le comunicazioni di andata e ritorno ridondanti, configura il server in modo da archiviare questi token, in modo che il controllo sia necessario una sola 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 l'aggiornamento del token o dell'ID istanza se rileva bug o problemi di sicurezza.

Verificare che il dispositivo dell'app sia attivo

Il server ID istanza può indicarti quando è stato utilizzato l'ultima volta il dispositivo su cui è installata la tua app. Utilizza queste informazioni 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 dell'app in tutto il mondo, quindi il tuo database può utilizzarlo per identificare e monitorare in modo univoco le istanze dell'app. Il codice lato server può verificare, tramite il servizio cloud Instance ID, che un ID istanza sia autentico e che sia lo stesso ID dell'app originale registrata con il tuo server. Per motivi di privacy, la tua app può eliminare un ID istanza in modo che non sia più associato ad alcuna cronologia nel database. La volta successiva che la tua app chiama l'ID istanza, riceverà un ID istanza completamente nuovo senza alcun rapporto con quello precedente.

Ciclo di vita dell'ID istanza

  1. Il servizio ID istanza emette un InstanceID quando la tua app va online. Il InstanceID è supportato da una coppia di chiavi pubblica/privata con la chiave privata archiviata sul dispositivo locale e la chiave pubblica registrata con il servizio ID istanza.
  2. La tua app può richiedere un nuovo InstanceID ogni volta che è necessario utilizzando il metodo getID(). La tua app può memorizzarlo sul tuo server, se ne hai uno che la supporta.
  3. La tua app può richiedere token dal servizio ID istanza in base alle necessità 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 unici e sicuri, ma la tua app o il servizio ID istanza potrebbe dover aggiornare i token in caso di problemi di sicurezza o quando un utente disinstalla e reinstalla la tua app durante il ripristino del dispositivo. La tua app deve implementare un listener per rispondere alle richieste di aggiornamento del token dal servizio ID istanza.

Implementazione client

L'ID istanza funziona sia su Android che su iOS. Ognuna richiede l'inclusione della libreria appropriata nell'app client. Android richiede Google Play Services. Se intendi generare token, avrai bisogno di un ID progetto generato da Google Developers Console.

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