API Recall

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.

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

    L'utente ha eseguito l'accesso con PGS e un account in-game

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

    Il server di gioco archivia il token
di richiamo con i server di Google

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

    Il server di gioco ripristina l'avanzamento con
token di richiamo

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.

L'utente accede 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.

Lo sviluppatore richiede un
ID sessione

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.

Lo sviluppatore recupera
il token di richiamo

Passaggio 3a: se è presente il token, ripristina l'avanzamento

Se è presente un token, recuperalo e decriptalo e ripristina i dati utente.

Lo sviluppatore ripristina i dati dal
token di richiamo

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.

L'utente accede con il proprio account
in-game

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.

Lo sviluppatore archivia il token di richiamo

Passaggi successivi

Per integrare l'API Recall con il tuo client e server di gioco, segui questa guida.