Utilizza l'autenticazione dei servizi per i giochi di Google Play per semplificare l'esperienza di autenticazione della piattaforma utente per il tuo gioco. Inizializza l'SDK Play Games Services per attivare l'autenticazione, che elimina la necessità di un flusso di autenticazione della piattaforma separato.
Collegare gli account utente per abilitare la continuità e la riproduzione su più dispositivi
I giocatori interagiscono con i loro giochi preferiti su una vasta gamma di dispositivi e piattaforme, tra cui dispositivi mobili, tablet e PC. Una delle loro aspettative principali è la possibilità di riprendere senza problemi il gioco esattamente da dove lo avevano interrotto, indipendentemente dal dispositivo scelto.
Un ostacolo significativo che spesso porta all'abbandono degli utenti è il requisito di accedere separatamente su ogni nuovo dispositivo. Gli utenti hanno bisogno di un'immersione immediata nell'esperienza di gioco, senza interruzioni inutili.
Per facilitare la continuità e il gioco cross-device, devi implementare due funzionalità chiave:
- Collegamento dell'account
- Salvataggio nel cloud
Il processo di autenticazione dei servizi per i giochi di Play offre opzioni flessibili per gli identificatori dei giocatori. Queste opzioni ti consentono di integrare i servizi per i giochi di Play con la tua soluzione di identità esistente.
Nuova integrazione dei servizi per i giochi di Play
Per i giochi senza integrazione esistente dei servizi per i giochi di Play, l'API Recall semplifica la configurazione del backend gestendo le associazioni di account e memorizzando la connessione tra l'account di gioco di un utente e il suo account dei servizi per i giochi di Play.
Collegamento dell'account tramite l'API Recall
L'API Recall è la soluzione consigliata per collegare gli account utente nei giochi cross-platform. Questa API è particolarmente utile per i giochi senza integrazione esistente dei servizi per i giochi di Play o per quelli che utilizzano soluzioni di autenticazione della piattaforma aggiuntive oltre ai servizi per i giochi di Play.
L'API Recall semplifica la configurazione del backend del gioco gestendo le associazioni degli account.
- Backend semplificato:l'API semplifica la configurazione del backend del gioco per il collegamento degli account.
- Associazioni gestite da Play:Play memorizza l'associazione tra gli account di gioco degli utenti (inclusi gli account di terze parti) e i loro account dei servizi per i giochi di Play.
- Ripristino dei progressi:gli sviluppatori generano e inviano token Recall a Play, che possono poi essere recuperati per ripristinare i progressi di un utente nel gioco.
Quando implementano l'API Recall, gli sviluppatori devono verificare che i token Recall siano stringhe opache. Questi token non devono contenere informazioni sensibili o che consentono l'identificazione personale (ad esempio nome, indirizzo email o dati demografici) dei giocatori.
I giochi devono utilizzare algoritmi di crittografia robusti durante la generazione dei token di richiamo per proteggere i dati utente e mantenere la sicurezza.
Per saperne di più su come funziona Recall, consulta l'API Recall .
Per implementare la funzionalità dell'API Recall, consulta Integrare l'API Play Games Services Recall nel tuo gioco.
Gestire più account con l'API Recall
Quando gestisci più account per lo stesso utente, puoi trattare ogni account come una persona distinta. Questo approccio consente di creare esperienze personalizzate in base al contesto specifico dell'utente.
Per implementare questo approccio, segui questi passaggi:
- Genera un token univoco per ogni persona. Consulta Configurazione del client di gioco.
- Collega questi token all'account dei servizi per i giochi di Play utilizzando l'API Recall. Consulta la sezione Token negozio.
- Imposta un criterio di risoluzione per gli scenari in cui un account dei servizi per i giochi di Play è collegato a più personaggi. Visualizza l'ultimo token di ritiro per tutti i giochi di proprietà degli account sviluppatore.
Sebbene siano disponibili varie opzioni di policy (ad esempio il ripristino automatico dell'ultimo account), ti consigliamo vivamente di presentare una richiesta all'utente. Questo prompt dovrebbe chiedere loro di selezionare l'account che vogliono ripristinare, offrendo un'esperienza chiara e intuitiva.
Integrazione esistente dei servizi per i giochi di Play
Questa sezione spiega come integrare il tuo gioco con i servizi per i giochi di Play associando gli account giocatore. Scopri come utilizzare gli ID giocatore per identificare i giocatori autenticati e gestire più account di gioco per un singolo utente dei servizi per i giochi di Play.
Associa con un Player_id
Un ID giocatore è un identificatore per un account giocatore dei servizi per i giochi di Play. Il tuo gioco può recuperare un ID giocatore per qualsiasi giocatore autenticato nel tuo gioco utilizzando i servizi per i giochi di Play.
I giochi con il backend configurato con i servizi per i giochi di Play Player_Id o
i giochi che richiedono il supporto per gli utenti secondari devono utilizzare Player_Id e collegare
i propri account di gioco e di terze parti con Player_Id.
Comprendere il comportamento degli ID giocatore:
- Coerenza all'interno di un gioco: un ID giocatore rimane coerente per un utente su più dispositivi quando gioca allo stesso gioco.
- Incoerenza tra i giochi: gli ID giocatore non sono sempre coerenti quando un utente gioca a giochi diversi.
Per ulteriori informazioni, vedi ID giocatore di nuova generazione.
Gestire più account per utente con il collegamento
Per collegare più account utente a un singolo account Google Play Services, crea una mappatura uno-a-molti nella tabella.
Identità Google multipiattaforma utilizzando Accedi con Google
L'accesso con Google (SiwG) è la soluzione di identità principale di Google che consente agli sviluppatori di giochi di ricevere in modo sicuro le informazioni del profilo dei giocatori: nome, indirizzo email e immagine del profilo.
Uno dei principali vantaggi di Accedi con Google è la sua ampia disponibilità su varie piattaforme, tra cui web, Android e iOS. Offre un'esperienza di accesso rapida, sicura e familiare che i giocatori già conoscono e di cui si fidano.
Associa al campo sub del token ID Google
Per creare un'esperienza multipiattaforma senza interruzioni, puoi implementare una strategia di autenticazione che colleghi il sistema di account del tuo gioco a un identificatore univoco dell'Account Google. Questo approccio sfrutta l'autenticazione semplificata di Play Games Services su Android utilizzando l'SDK Accedi con Google standard su altre piattaforme come iOS e web.
La chiave di questa strategia è il campo sub del token ID di Google. Il campo
sub (o "oggetto") è un identificatore univoco e permanente dell'account di un utente Google. Utilizzerai questo ID come "ponte" per collegare tutte le sessioni di un giocatore a un singolo account di gioco nel backend.
Ecco il flusso di alto livello:
- Su Android:il gioco inizializza l'SDK Play Games Services per attivare automaticamente l'autenticazione sui dispositivi Android. Configura l'integrazione di Play Games Services v2 in modo da richiedere i tre ambiti di accesso:
email,profileeopenid. Questi sono gli stessi ambiti richiesti da un SDK Sign in with Google standard. In questo modo puoi recuperare un token ID che contiene il camposubdel giocatore. - Su web e iOS:il gioco utilizza gli SDK standard
Accedi con Google per il web e Accedi con Google per iOS e macOS. Quando l'utente esegue l'accesso, l'SDK SiwG fornisce un token ID che contiene anche
il campo
subdell'utente. - Collegamento dell'account:poiché l'utente accede con lo stesso Account Google su entrambe le piattaforme, il campo
subche ricevi sarà identico. A questo punto, puoi associare con sicurezza questo valoresubal tuo ID utente interno nella tua soluzione di identità, creando un'esperienza utente unificata.
Integrazione su Android
Su Android, utilizzerai l'SDK dei servizi per i giochi di Google Play come punto di integrazione principale. La chiave è configurare il client di accesso ai servizi per i giochi di Google Play per richiedere
gli ambiti di accesso aggiuntivi. In questo modo puoi recuperare un codice di autorizzazione lato server, che il backend può scambiare con un token ID contenente le informazioni dell'utente, incluso il campo sub univoco.
A livello generale, l'implementazione prevede:
Configura gli ID client in un progetto unificato: prima dell'integrazione, devi configurare i servizi di Google Play Giochi in Google Play Console per ottenere gli ID client OAuth 2.0.
Configura i servizi per i giochi di Play:prima di iniziare, devi aggiungere il gioco in Google Play Console e integrare l'autenticazione della piattaforma dei servizi per i giochi di Play nel gioco.
Aggiungi un pulsante Accedi con Google:nella pagina di accesso o nella schermata delle impostazioni utente del gioco, aggiungi un pulsante "Accedi con Google". Questo pulsante avvierà il flusso di accesso o registrazione. Quando crei questo pulsante, ti consigliamo di seguire le linee guida per il branding di Accedi con Google. Come minimo, il pulsante deve mostrare chiaramente "Google" o "Accedi con Google". Il link alle linee guida fornisce anche asset UX scaricabili conformi e utilizzabili nel tuo gioco.
Richiedi il codice di autenticazione del server con gli ambiti di accesso: quando il giocatore fa clic sul pulsante, il gioco richiede un codice di autenticazione del server una tantum. Il passaggio più importante è configurare questa richiesta in modo che includa i seguenti ambiti di accesso:
EMAIL,PROFILEeOPEN_ID.La configurazione dipende dall'ambiente di sviluppo:
Per Java/Kotlin: consulta la guida per ottenere il codice di autenticazione del server utilizzando
requestServerSideAccess.Per Unity:consulta la guida per recuperare i codici di autorizzazione in Unity.
Scambia il codice di autorizzazione e verifica il token ID sul backend:invia il codice di autorizzazione del passaggio precedente al server di backend. Sul server, segui la guida standard al flusso di scambio del codice OAuth 2.0 per scambiare il codice con un token ID, un token di accesso e un token di aggiornamento. Come descritto nella guida, devi verificare il token ID sul tuo server.
Associa il campo
sub:una volta verificato correttamente il token ID, estrai il camposubdal relativo payload. Utilizza questo valoresubcome chiave univoca per l'identità Google nella tua soluzione di identità.Se questo valore
subesiste già nel tuo database, l'utente ha già eseguito il collegamento. Accedere al proprio account di gioco corrispondente.Se questo valore di
subnon esiste, puoi creare un nuovo account utente nel sistema di account del tuo gioco associato a questosubo collegarti a un account utente esistente nel tuo sistema di account abbinando le informazioni dell'utente (come l'indirizzo email) fornite nel token ID.
Integrazione su iOS, web e altre piattaforme
Su piattaforme diverse da Android, iOS, web o PC, utilizzerai gli
SDK standard di Sign in with Google. L'obiettivo è lo stesso del flusso Android: ottenere in modo sicuro un token ID Google, inviarlo al backend e utilizzare il campo sub per collegare l'account.
A livello generale, l'implementazione prevede:
Integrazione lato client:segui la documentazione ufficiale per integrare l'SDK Accedi con Google per la tua piattaforma. Queste guide coprono l'intero flusso lato client, dal rendering di un pulsante Accedi con Google al recupero del token ID.
Per il web:Accedi con Google per il web
Per iOS: Accedi con Google per iOS e macOS
Per le piattaforme senza un SDK dedicato (come un motore di gioco personalizzato o una build per PC), puoi implementare manualmente il flusso del server web OAuth 2.0 per ottenere i token necessari.
Logica di backend: invia il token ID (o il codice di autorizzazione) al backend. Il tuo server esegue quindi la stessa verifica e la stessa logica di binding del campo
subdescritta nei passaggi 4 e 5 della sezione "Integrazione su Android".
Poiché il campo sub di tutti questi flussi di accesso con Google è identico a quello recuperato dal flusso di Google Play Games Services su Android (per lo stesso Account Google), questa procedura collega correttamente l'account dell'utente su tutte le piattaforme.