API Recall

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:

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

    L'utente ha eseguito l'accesso con i servizi per i giochi di Play e un account di gioco

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

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

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

    Il server di gioco ripristina i progressi con il token
di richiamo

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.

Autenticazione degli utenti 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.

Lo sviluppatore richiede un ID sessione

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.

Lo sviluppatore recupera il token di ritiro

Passaggio 3a: se è presente un token, ripristina i progressi

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

Lo sviluppatore ripristina i dati dal token di ritiro

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.

L'utente si autentica con il proprio account di gioco

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.

Token di richiamo degli store per sviluppatori

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

L'utente senza profilo PGS apre un gioco

  1. Un utente senza un profilo PGS apre un gioco in cui è abilitato il richiamo senza profilo.
  2. L'SDK Games attiva un'autenticazione automatica della piattaforma, che non riesce perché l'utente non ha un profilo PGS.
  3. 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.
  4. 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.
  5. 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

  1. Un utente senza un profilo PGS apre un gioco in cui è abilitato il richiamo senza profilo su un dispositivo.
  2. Il gioco registra un token di richiamo senza profilo come descritto in Memorizza una coppia di token e utenti tipo.
  3. L'utente apre lo stesso gioco su un dispositivo diverso con la stessa configurazione dell'account.
  4. 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.
  5. L'autenticazione automatica della piattaforma in PGS viene completata e il gioco riceve lo stato di autenticazione.
  6. 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.