L'API Recall ti aiuta a collegare senza problemi gli utenti di Google Play Games Services ai loro account di gioco, consentendo il ripristino automatico dei progressi. Memorizzi i token Recall nei server di gioco, che associano questi token al profilo dei servizi per i giochi di Google Play di un utente. L'utilizzo dell'API Recall è facoltativo ed è il metodo consigliato per implementare il ripristino senza problemi se non hai un backend di identità robusto.
Terminologia
Questo documento utilizza la seguente terminologia:
Token di richiamo: una chiave sicura memorizzata sui server di gioco che funge da collegamento tra l'account Play Games Services di un giocatore e il suo account di gioco.
ID sessione: un identificatore univoco temporaneo generato dall'SDK di Play Games Services sul dispositivo del giocatore. Indica che una richiesta effettuata dal tuo server di backend proviene da una sessione di gioco legittima e attiva sul dispositivo di un giocatore.
Esempi di scenario
Di seguito sono riportati gli esempi di scenario 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 in parallelo con altri metodi di autenticazione per consentire agli utenti di accedere al gioco. In questo esempio, un utente ha eseguito l'accesso al proprio account PGS Laura e crea un account di gioco 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 un token di richiamo con Google, che corrisponde all'account di gioco dell'utente. Google memorizza automaticamente il token di richiamo nel profilo PGS dell'utente.

L'utente decide di giocare per la prima volta al gioco su GPG su PC. L'utente viene autenticato automaticamente con il proprio account PGS e il client di gioco verifica se sono disponibili progressi per questo utente PGS. Il server di gioco esegue una query su Google per verificare se sono presenti token per questo account PGS. Poiché sono presenti, 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'autenticazione con PGS è un'esperienza senza problemi, i progressi dell'utente vengono ripristinati dall'app senza che l'utente debba inserire un nome utente o una password. Inoltre, lo sviluppatore può utilizzare l'autenticazione PGS con il proprio sistema di identità esistente e fare affidamento su Google per memorizzare il collegamento tra i progressi del giocatore e il suo account PGS.

Come visto nell'esempio precedente, l'API Recall esegue due azioni principali:
Memorizzazione del token con Google quando un utente esegue l'accesso con uno degli account di gioco.
Recupero del token per un utente al fine di ripristinare i suoi account di gioco.
Oltre ai token Recall, l'API Recall richiede anche un identificatore stabile corrispondente all'account di gioco, noto come utente tipo. Puoi considerare una persona come l'etichetta che rappresenta l'account di gioco dell'utente all'interno del sistema di identità dello sviluppatore e il token di richiamo come una chiave utilizzata per ripristinare l'account di gioco dell'utente nel gioco. I valori di utente tipo e token non devono essere riutilizzati in progetti PGS diversi. Inoltre, anche se i token Recall possono essere modificati nel tempo, un utente tipo deve essere stabile in base all'account di gioco dell'utente.
Flussi tecnici per la memorizzazione e il recupero dei token Recall
Questa sezione illustra il flusso tecnico tra il client di gioco e i server con i server di Google durante la memorizzazione e il recupero dei token Recall.
Passaggio 1: autentica l'utente PGS e recupera l'ID sessione
Il gioco inizializza l'SDK PGS e tenta di autenticare l'utente con PGS.

Supponendo che l'utente sia autenticato, richiedi un ID sessione dall'SDK Games su l client di gioco e un token OAuth 2.0 dal backend OAuth di Google. L'ID sessione e i token OAuth 2.0 vengono utilizzati per comunicare con il backend di Google Games.

Passaggio 2: recupera eventuali token di richiamo disponibili
Richiedi eventuali token di richiamo associati all'account dell'utente PGS. Se è presente un token, vai al passaggio 3a e ripristina i progressi. In caso contrario, se si tratta di un nuovo utente e non è presente alcun token, vai al passaggio 3b e memorizza un nuovo token.

Passaggio 3a: se è presente un token, ripristina i progressi
Se è presente un token, recuperalo, decriptalo e ripristina i dati utente.

Passaggio 3b: se non è presente alcun token, memorizzane uno
Poiché non è presente alcun token, non vengono ripristinati i progressi. L'utente procede all'autenticazione della piattaforma con il sistema di identità dello sviluppatore o crea un nuovo account se non ne esiste uno. Nota: non si tratta di autenticarsi con PGS (operazione già eseguita), ma con un sistema di identità dello sviluppatore esterno a PGS.

Crea un token di richiamo criptato che codifica l'account di gioco 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 inviato e l'account PGS del giocatore.

Flussi per gli utenti senza un profilo PGS
Puoi memorizzare i token Recall per un utente che non ha ancora creato un profilo PGS utilizzando la modalità senza profilo. Tuttavia, ci sono due importanti avvertenze:
- Non puoi recuperare i token per un utente che non ha un profilo PGS. La creazione del profilo viene richiesta automaticamente quando l'utente tenta di accedere al tuo gioco con Play Games Services su un secondo dispositivo.
- Devi seguire linee guida aggiuntive
per assicurarti di avere un avviso appropriato che descriva i seguenti elementi e di
ottenere il consenso dell'utente finale appropriato:
- La condivisione dei dati con Google per attivare la funzionalità di collegamento dell'account Play Giochi.
- La disponibilità di impostazioni per gestire questa condivisione, ad esempio le impostazioni di Play Giochi.
- Il trattamento di questi dati ai sensi delle Norme sulla privacy di Google.
Memorizza una coppia di token e utenti tipo

- Un utente senza un profilo PGS apre un gioco in cui è abilitato il richiamo senza profilo.
- L'SDK Games attiva un'autenticazione automatica della piattaforma, che non riesce perché l'utente non ha un profilo PGS.
- L'SDK Games mostra una snackbar che informa l'utente che il gioco è integrato con Google. Questa snackbar è interattiva: l'utente può disattivare il richiamo finché non viene creato un profilo.
- Il gioco richiede l'accesso al richiamo. Tieni presente che PGS rifiuta le richieste di accesso al richiamo quando sono presenti profili PGS sul dispositivo o quando non sono presenti Account Google sul dispositivo. In questo caso, il gioco deve procedere senza utilizzare PGS.
- Dopo che l'utente ha eseguito l'accesso con un account di gioco, il gioco crea una coppia di token e utenti tipo per l'utente che corrisponde al suo account di gioco. Il gioco memorizza questa coppia con Google. Il gioco potrebbe memorizzare altri token in un secondo momento se l'utente accede ad altri account di gioco.
Avvia un gioco su un nuovo dispositivo
- Un utente senza un profilo PGS apre un gioco in cui è abilitato il richiamo senza profilo su un dispositivo.
- Il gioco registra un token di richiamo senza profilo come descritto in Memorizza una coppia di token e utenti tipo.
- L'utente apre lo stesso gioco su un dispositivo diverso con la stessa configurazione dell'account.
- L'SDK Games attiva la creazione del profilo. L'utente può esaminare e rifiutare i token Recall memorizzati in precedenza. L'utente crea un profilo PGS in questo momento.
- L'autenticazione automatica della piattaforma in PGS viene completata e il gioco riceve lo stato di autenticazione.
- Il gioco recupera i token Recall per l'utente come di consueto.
Passaggi successivi
Per integrare l'API Recall con il client e il server di gioco, segui queste indicazioni.