L'API Recall consente ai giochi di gestire i collegamenti tra gli utenti dei servizi per i giochi di Play e i loro account in-game archiviando i token di richiamo sui server di Google. Ecco uno scenario di esempio di come potrebbe essere utilizzata l'API Recall.
Un utente sta giocando a un gioco in cui lo sviluppatore ha un sistema di identità per monitorare i progressi degli utenti e utilizza PGS insieme ad altri metodi di autenticazione per far accedere gli utenti al gioco. In questo esempio, un utente ha eseguito l'accesso al suo account dei servizi per i giochi di Play Laura e crea un account in-game con il sistema di identità dello sviluppatore chiamato Racer94. Mentre l'utente gioca, il server di gioco dello sviluppatore sincronizza i suoi progressi.
Separatamente, lo sviluppatore salva su Google un token di richiamo, che corrisponde all'account in-game dell'utente. Google archivia automaticamente il token di richiamo nel profilo dei servizi per i giochi di Play dell'utente.
L'utente ora decide di giocare per la prima volta su GPG su PC. Viene eseguito automaticamente l'accesso con il proprio account dei servizi per i giochi di Play e il client del gioco controlla se sono disponibili progressi per l'utente dei servizi per i giochi di Play. Il server di gioco invia una query a Google per verificare se ci sono token per questo account dei servizi per i giochi di Play. Pertanto, Google restituisce il token di richiamo e il server di gioco lo utilizza per trovare l'account associato dell'utente Racer94 e ripristinare i suoi progressi. Poiché l'accesso con PGS è un'esperienza senza problemi, l'avanzamento dell'utente viene ripristinato dall'app senza che l'utente debba inserire nome utente o password. Inoltre, lo sviluppatore può utilizzare l'accesso dei servizi per i giochi di Play con il suo sistema di identità esistente e affidarsi a Google per memorizzare il collegamento tra i progressi dei giocatori e il suo account dei servizi per i giochi di Play.
Come mostrato nell'esempio precedente, l'API Recall esegue due azioni principali: memorizzare il token in Google quando un utente accede con uno degli account in-game e recuperare il token per un utente per ripristinare i suoi account in-game.
Oltre ai token Recall, l'API Recall richiede anche un identificatore stabile corrispondente all'account in-game, noto come persona, per applicare i vincoli di cardinalità. Potresti considerare l'utente tipo come l'etichetta che rappresenta l'account in-game dell'utente all'interno del sistema di identità dello sviluppatore e il token di richiamo come una chiave che viene utilizzata per ripristinare l'account in-game dell'utente nel gioco. I valori di tipo utente e token non devono essere riutilizzati in diversi progetti dei servizi per i giochi di Play. Inoltre, anche se i token Recall possono essere modificati nel tempo, un utente tipo dovrebbe essere stabile in base all'account in-game dell'utente.
Regole di cardinalità
L'API Recall applica una relazione 1:1 tra i profili dei servizi per i giochi di Play e gli account in-game (denominate regole di cardinalità), in cui un utente tipo può essere collegato a un solo profilo dei servizi per i giochi di Play e un profilo dei servizi per i giochi di Play può essere collegato a un solo utente. L'utente tipo viene utilizzato come identificatore stabile per un account in-game, poiché i token di richiamo potrebbero cambiare nel tempo.
Anche l'utente tipo collegato a un profilo dei servizi per i giochi di Play potrebbe essere modificato nel tempo (dal momento che account in-game diversi sono collegati al profilo dei servizi per i giochi di Play).
Flussi tecnici dettagliati per l'archiviazione e il recupero dei token di richiamo
Questa sezione illustra il flusso tecnico tra il client di gioco e i server con i server Google durante l'archiviazione e il recupero dei token di richiamo.
Passaggio 1: accedi all'utente PGS e recupera l'ID sessione
Il gioco inizializza l'SDK PGS e tenta di far accedere l'utente con PGS.
Supponendo che l'utente abbia eseguito l'accesso, richiedi un ID sessione all'SDK per i giochi sul client di gioco e richiedi un token OAuth 2.0 al backend OAuth di Google. L'ID sessione e i token OAuth 2.0 vengono utilizzati per comunicare con il backend di Google Giochi.
Passaggio 2: recupera tutti i token di richiamo disponibili
Richiesta di qualsiasi token di richiamo associato all'account dell'utente dei servizi per i giochi di Play. Se è presente un token, vai al passaggio 3a e ripristina l'avanzamento. Altrimenti, se si tratta di un nuovo utente e non è presente alcun token, vai al passaggio 3b e archivia un nuovo token.
Passaggio 3a: se è presente il token, ripristina l'avanzamento
Se è presente un token, recuperalo e decriptalo e ripristina i dati utente.
Passaggio 3b: se non è presente alcun token, archiviane uno
Poiché non è presente alcun token, non viene ripristinato alcun avanzamento. L'utente procede ad accedere con il sistema di identità dello sviluppatore oppure, se non esiste, crea un nuovo account. Nota: non si tratta dell'accesso con PGS (operazione già eseguita), ma con il sistema di identità di uno sviluppatore esterno a PGS.
Crea un token di richiamo criptato che codifica l'account in-game dell'utente e invialo a Google insieme all'ID sessione e al token OAuth 2.0. A questo punto, Google crea un'associazione tra il token di richiamo che è stato inviato e l'account dei servizi per i giochi di Play del player.
Passaggi successivi
Per integrare l'API Recall con il tuo client e server di gioco, segui questa guida.