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 in-game archiviando i token di richiamo sui server di Google. Ecco un scenario di esempio di come potrebbe essere utilizzata l'API Recall.
Un utente sta giocando a un gioco in cui lo sviluppatore dispone di un sistema di identità per monitorare i progressi dell'utente e utilizza PGS in parallelo con altri metodi di autenticazione per far accedere gli utenti al proprio gioco. In questo esempio, un utente accede al proprio account PGS Laura e crea un account in-game con il sistema di identità dello sviluppatore denominato 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 in-game dell'utente. Google memorizza automaticamente questo token Recall nel profilo PGS dell'utente.
Ora l'utente decide di giocare per la prima volta su GPG su PC. L'utente accede automaticamente con il proprio account PGS e il client di gioco controlla se sono disponibili progressi per questo utente PGS. Il server di gioco esegue quindi una query su Google per verificare se sono presenti token per questo account PGS. Dato che 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'accesso con i servizi per i giochi di Play è un'esperienza senza problemi, l'app ripristina i progressi dell'utente senza che debba inserire nome utente o password. Inoltre, lo sviluppatore può utilizzare l'accesso a Play Giochi 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 Play Giochi.
Come mostrato nell'esempio precedente, l'API Recall esegue due azioni principali:
Archiviazione del token su Google quando un utente accede con uno degli account in-game.
Recupero del token di un utente per ripristinare i suoi account in-game.
Oltre ai token di richiamo, l'API Recall richiede anche un identificatore stabile corrispondente all'account in-game, noto come persona, per applicare i limiti di cardinalità. Puoi considerare una persona 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 utilizzata per ripristinare l'account in-game dell'utente nel gioco. I valori delle persone e dei token non devono essere riutilizzati in diversi progetti PGS. Inoltre, anche se i token Recall possono cambiare nel tempo, un Persona deve essere stabile in base all'account in-game dell'utente.
Regole di cardinalità
L'API Recall applica una relazione 1:1 tra i profili PGS e gli account in-game (chiamati regole di cardinalità), in cui una persona può essere collegata solo a un profilo PGS e un profilo PGS può essere collegato solo a una persona. La persona viene utilizzata come identificatore stabile per un account in-game, poiché i token di richiamo possono cambiare nel tempo.
La persona collegata a un profilo PGS può anche cambiare nel tempo (poiché diversi account in-game sono collegati al profilo PGS).
Flussi tecnici 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 la memorizzazione 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 dall'SDK di Google Play 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.
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 l'avanzamento. In caso contrario, se si tratta di un nuovo utente che non ha un token, vai al passaggio 3b e memorizza un nuovo token.
Passaggio 3a: se il token è presente, ripristina l'avanzamento
Se è presente un token, recuperalo e decriptalo, quindi ripristina i dati utente.
Passaggio 3b: se non è presente alcun token, memorizzane uno
Poiché non è presente alcun token, non viene ripristinato alcun avanzamento. L'utente procede accedendo con il sistema di identità dello sviluppatore o crea un nuovo account se non ne esiste uno. Nota: non si tratta di accedere con PGS (operazione già eseguita), ma con un sistema di identità dello sviluppatore esterno a PGS.
Crea un token di richiamo criptato che codifichi 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 inviato e l'account PGS del giocatore.
Flussi per gli utenti senza un profilo PGS
Puoi memorizzare i token di richiamo per un utente che non ha ancora creato un profilo PGS utilizzando la modalità senza profilo. Tuttavia, ci sono due importanti limitazioni:
- 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 Giochi 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 appropriato degli utenti finali:
- 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 per il quale è attivato il richiamo senza profilo.
- L'SDK Games attiva un accesso automatico che non va a buon fine perché l'utente non ha un profilo dei servizi per i giochi di Play.
- L'SDK Games mostra una barra di notifica che informa l'utente che il gioco è integrato con Google. Questa barra degli avvisi è attiva: 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 per il richiamo quando ci sono profili PGS sul dispositivo o quando non sono presenti Account Google sul dispositivo. In questo caso, il gioco dovrebbe procedere senza utilizzare PGS.
- Dopo che l'utente ha eseguito l'accesso con un account in-game, il gioco crea una coppia di token e persone per l'utente corrispondente al suo account in-game. Il gioco immagazzina questa coppia su Google. Il gioco potrebbe memorizzare altri token in un secondo momento se l'utente accede ad altri account in-game.
Avviare un gioco su un nuovo dispositivo
- Un utente senza un profilo PGS apre un gioco su 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 di Google Play 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'accesso automatico a PGS viene completato 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.