Che cos'è l'ID istanza?

Funzionalità principali

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

Generare token di sicurezza

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

Verificare l'autenticità dell'app

Trasmetti i token Instance ID al tuo server e utilizza il servizio Instance ID per verificare il nome del pacchetto applicativo e controllare se ha una firma valida. La verifica dei token con il servizio cloud Instance ID 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 Instance ID stesso e generarne di nuovi. Inoltre, il server Instance ID avvia l'aggiornamento del token o di Instance ID se rileva bug o problemi di sicurezza.

Verificare che il dispositivo dell'app sia attivo

Il server Instance ID può indicarti l'ultima volta che è stato utilizzato 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

Instance ID è 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 Instance ID sia autentico e che sia lo stesso ID dell'app originale registrata sul tuo server. Per motivi di privacy, la tua app può eliminare un Instance ID in modo che non sia più associato a nessuna cronologia nel database. La prossima volta che la tua app chiama Instance ID, riceverà un Instance ID completamente nuovo senza alcuna relazione con quello precedente.

Ciclo di vita di Instance ID

  1. Il servizio Instance ID emette un InstanceID quando la tua app va 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. La tua app può richiedere un nuovo InstanceID ogni volta che è necessario utilizzando il metodo getID(). Se hai un server che supporta la tua app, puoi memorizzarlo.
  3. La tua app può richiedere token dal servizio Instance ID in base alle esigenze utilizzando il metodo getToken() e, come InstanceID, può anche memorizzare i token sul tuo server. Tutti i token emessi per la tua app appartengono a InstanceID dell'app.
  4. I token sono univoci e sicuri, ma la tua app o il servizio Instance ID potrebbero 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 dei token dal servizio Instance ID.

Implementazione client

Instance ID è in esecuzione sia su Android che su iOS. Per ciascuno è necessario includere la libreria appropriata nell'app client. Android richiede i 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.