L'API Recall consente ai giochi di gestire i collegamenti tra gli utenti dei servizi per i giochi di Google Play (PGS) e i loro account di gioco memorizzando i token Recall 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 dell'utente 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 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 un token di recupero con Google, che corrisponde all'account in-game dell'utente. Google memorizza automaticamente il token Recall nel profilo dei servizi per i giochi di Play dell'utente.
L'utente decide ora di giocare per la prima volta 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 la presenza di token per questo account PGS. Poiché esiste, 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 mostrato 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 per ripristinare i suoi account di gioco.
Oltre ai token di richiamo, 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 recupero come una chiave utilizzata per ripristinare l'account di gioco dell'utente nel gioco. I valori di persona e token non devono essere riutilizzati in diversi progetti PGS. Inoltre, anche se i token Recall possono cambiare nel tempo, una persona deve essere stabile in base all'account di gioco dell'utente.
Flussi tecnici per l'archiviazione e il recupero dei token Recall
Questa sezione descrive 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: 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 sul 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 Play Giochi.
Passaggio 2: recupera eventuali token di ritiro disponibili
Richiesta di eventuali token di ritiro associati all'account 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 il token è presente, ripristina i progressi
Se è presente un token, recuperalo, decriptalo e ripristina i dati dell'utente.
Passaggio 3b: se non è presente alcun token, memorizzane uno
Poiché non è presente alcun token, non viene ripristinato alcun avanzamento. 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 dell'autenticazione con PGS (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 archiviare 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 dei servizi per i giochi di Play. La creazione del profilo viene richiesta automaticamente quando l'utente tenta di accedere al tuo gioco con i servizi di Google Play su un secondo dispositivo.
- Devi seguire le linee guida aggiuntive
per assicurarti di disporre di un'informativa appropriata che descriva i seguenti elementi e
ottenga il consenso appropriato dell'utente finale:
- 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.
Memorizzare una coppia di token e persona
- Un utente senza un profilo PGS apre un gioco in cui è attivato il richiamo senza profilo.
- L'SDK Games attiva un'autenticazione automatica della piattaforma, che non va a buon fine 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, la partita deve proseguire senza utilizzare PGS.
- Dopo che l'utente ha eseguito l'accesso con un account in-game, il gioco crea una coppia di token e persona per l'utente che corrisponde al suo account in-game. Il gioco memorizza questa coppia con Google. Il gioco potrebbe memorizzare più token in un secondo momento se l'utente accede ad altri account di gioco.
Avviare un gioco su un nuovo dispositivo
- Un utente senza un profilo PGS apre un gioco in cui è attivato il richiamo senza profilo su un dispositivo.
- Il gioco registra un token Recall senza profilo come descritto in Memorizzare una coppia di token e persona.
- L'utente apre lo stesso gioco su un altro dispositivo con la stessa configurazione dell'account.
- L'SDK Games attiva la creazione del profilo. L'utente può esaminare e rifiutare i token Recall archiviati 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 autenticato.
- 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.