In questa pagina viene spiegato come integrare l'accesso dei servizi per i giochi di Play con la tua soluzione di identità o salvataggio sul cloud esistente. Anche se questi consigli sono facoltativi, possono aiutarti a soddisfare i requisiti per il salvataggio sul cloud per Google Play Giochi su PC. Utilizza le pagine relative ai requisiti di continuità e ai comportamenti previsti per verificare che la tua implementazione soddisfi questi requisiti.
Ripristina stato player
Nel backend del gioco, gli account di gioco sono probabilmente rappresentati da identificatori che ti consentono di recuperare e aggiornare i loro progressi all'interno del gioco. Lo chiameremo ID account abbreviato. Quando un giocatore accede ai servizi per i giochi di Play, puoi utilizzare questa autenticazione per ricevere un nuovo identificatore, l'ID giocatore dei servizi per i giochi di Play, che viene utilizzato per supportare il requisito di salvataggio sul cloud.
Quando un giocatore accede ai servizi per i giochi di Play, devi continuare nel seguente modo:
- Recupera il codice OAuth dal client e invialo al tuo server.
- Scambia il token di autenticazione e ricevi un ID dei servizi per i giochi di Play verificato dal server di Play Giochi. In questo modo si garantisce che l'ID sia attendibile e non qualcuno che si spaccia per un altro giocatore utilizzando un dispositivo compromesso.
- Prova a risolvere un account di gioco in base alle condizioni del dispositivo e a eventuali identificatori collegati.
Nel tuo gioco devono essere introdotti due nuovi scenari principali:
- Archiviare gli ID dei servizi per i giochi di Play nel backend e assegnarli in qualche modo a ID account esistenti, ad esempio:
- Per i nuovi giocatori, a un certo punto i progressi dovrebbero essere collegati automaticamente ai servizi per i giochi di Play. (ad es. al lancio del gioco, dopo il tutorial o dopo una serie di livelli e così via).
- Per i giocatori esistenti, i progressi attuali dovrebbero essere collegati automaticamente ai servizi per i giochi di Play dopo l'aggiornamento del giocatore a una versione del tuo gioco con i servizi per i giochi di Play V2 integrati.
- L'ID dei servizi per i giochi di Play può essere collegato a uno o più account e i servizi per i giochi di Play possono essere scollegati da questi account, ma deve essere collegato ad almeno un account valido.
- Ripristino automatico dei progressi di gioco su un dispositivo nuovo o disconnesso in base all'ID giocatore dei servizi per i giochi di Play.
La modalità di archiviazione e assegnazione degli ID dei servizi per i giochi di Play agli account esistenti è flessibile, come descritto negli esempi riportati di seguito. I requisiti principali da tenere presente sono che il giocatore non deve accedere manualmente o creare un collegamento con un altro sistema di identità per creare un collegamento tra il proprio ID dei servizi per i giochi di Play e i propri progressi nel gioco. Inoltre, i progressi dei giocatori dovrebbero essere ripristinati senza problemi su tutte le piattaforme.
Quando progetti la soluzione, inizia osservando il sistema esistente e come incorpora i diversi provider di identità. Alcuni sistemi utilizzano un solo identificatore per ogni account, mentre altri ne usano più di uno.
Se puoi associare ogni ID account a un solo identificatore, dovrai aggiungere l'assistenza per associare i servizi per i giochi di Play all'ID. Le seguenti soluzioni mostrano come eseguire questa operazione.
Soluzioni di esempio
Le soluzioni di esempio includono soluzioni di associazione e richiamo.
L'associazione è la procedura di collegamento permanente o semi-permanente dell'ID dei servizi per i giochi di Play a uno stato dell'account. In caso di associazione, l'account sottostante che viene ripristinato tramite i servizi per i giochi di Play non cambierà per il giocatore senza la sua azione, anche se il giocatore si disconnette e accede con un altro account all'interno del tuo gioco. Trattiamo questo argomento con l'associazione dell'account.
Con un richiamo, in qualità di sviluppatore di giochi hai memorizzato una mappatura libera dell'ID dei servizi per i giochi di Play e dell'account o degli account più recenti in modo che il giocatore possa ripristinarli quando accede ai servizi per i giochi di Play su un altro dispositivo. Ogni volta che il giocatore accede a un altro account di gioco con lo stesso ID dei servizi per i giochi di Play, questa associazione cambia. Ecco un diagramma di flusso di esempio, che illustreremo in dettaglio nel seguente esempio di richiamo account recenti:
Altri esempi di flusso utente sono allegati alle soluzioni riportate di seguito.
Associazione account
Se il tuo gioco non ha molti giocatori multi-account o se vuoi incoraggiare i giocatori ad avere un solo account all'interno del tuo gioco, l'associazione è probabilmente la soluzione migliore per il tuo gioco. In questo esempio, il primo account visualizzato dopo aver eseguito l'accesso ai servizi per i giochi di Play (sia un account ospite o un account associato a un'altra piattaforma di identità) all'ID giocatore dei servizi per i giochi di Play viene associato. Dopo questa associazione, l'account associato viene ripristinato automaticamente sui nuovi dispositivi. Dato che stiamo creando un'associazione forte, il giocatore può anche cambiare profilo dei servizi per i giochi di Play per cambiare account all'interno del gioco e puoi chiedere al giocatore di confermare in questo scenario.
Se ci sono account in conflitto, consigliamo di chiedere al player di scegliere un account. I casi in conflitto dovrebbero verificarsi solo per i giocatori che hanno più account nel gioco e quindi probabilmente hanno la conoscenza e il desiderio di giocare con un account specifico.
Una volta risolto l'account, il gioco dovrebbe ricordare la scelta del giocatore, a meno che non ci siano modifiche degli identificatori di accesso. Se il profilo dei servizi per i giochi di Play viene modificato o se il giocatore accede a un identificatore diverso all'interno del gioco, i passaggi precedenti devono essere ripetuti quando il giocatore ha indicato chiaramente che vuole modificare gli account.
Annullamento associazione
Se vuoi offrire al giocatore la possibilità di controllare completamente le associazioni, puoi offrirgli la possibilità di svincolare il proprio ID giocatore dei servizi per i giochi di Play con un account di gioco. Questo potrebbe essere importante per alcuni giocatori con più account, se associano accidentalmente il loro ID giocatore dei servizi per i giochi di Play a un account diverso da quello principale.
Altri esempi di associazioni di account
Questo esempio principale mostra che un determinato ID giocatore dei servizi per i giochi di Play (1) è associato al primo account in-game visualizzato (A) e non viene rimbalzato quando il giocatore si disconnette dai suoi progressi nel gioco per giocare su un altro account.
Facoltativamente, puoi consentire ai giocatori di riassociare i loro account, ma non è obbligatorio.
Cambio di account sul dispositivo
In questo caso il giocatore ha cambiato account dei servizi per i giochi di Play manualmente e, di conseguenza, ha fornito al gioco un forte segnale che chiede di sostituire l'account in-game con un altro account. Il giocatore vuole reagire a questo cambiamento; prendere in considerazione questo indicatore porta a una migliore esperienza del giocatore.
Account associato esistente con un altro identificatore
Questo esempio mostra che anche gli account associati a identificatori non dei servizi per i giochi di Play devono essere associati ai servizi per i giochi di Play e poi ripristinati sui nuovi dispositivi. La maggior parte dei giocatori esistenti del tuo gioco con account rientra in questa categoria.
Richiamo di account recenti
Spesso, quando si parla di soluzioni, l'esperienza basata su più account è la stessa. Se il tuo gioco incentiva gli utenti esperti a creare molti account (ad esempio giochi di gacha o a scegliere i tuoi giochi di avventura), associare l'ID giocatore dei servizi per i giochi di Play a un singolo account potrebbe non fornire la migliore esperienza per i giocatori quando passano da un dispositivo all'altro.
Nella soluzione di richiamo, memorizzi una mappatura libera di un ID giocatore dei servizi per i giochi di Play e di un account in-game e il giocatore vede semplicemente gli ultimi account che hai memorizzato quando cambi dispositivo o quando non ha eseguito l'accesso.
In questo esempio, un giocatore possiede tre account per un gioco e poi passa a un nuovo dispositivo:
Quando chiedi al player di eseguire il ripristino, puoi anche offrire ai giocatori un pulsante "Annulla" o "Crea nuovo" da selezionare per creare un nuovo account.
Per semplicità, il gioco potrebbe scegliere di ricordare solo l'ultimo account visto. Questa operazione può essere più difficile per il caso d'uso del passaggio a più account, ma soddisfa comunque il requisito di continuità.
Altri esempi di richiamo
La seguente sezione include ulteriori esempi sull'utilizzo del richiamo.
Smartphone non Android
Qui sono illustrati entrambi gli account di richiamo che esistono già (account di terze parti collegato) o che sono stati creati da un altro dispositivo non connesso ai servizi per i giochi di Play di Play.
Una procedura più comune potrebbe essere l'avvio di un telefono non Android e il passaggio a Google Play Giochi su PC.
Poiché il telefono non Android non dispone dei servizi per i giochi di Play, non è attivo il richiamo e il giocatore deve digitare manualmente le credenziali da Google Play Giochi su PC.
Più profili dei servizi per i giochi di Play per un singolo account
A volte potrebbero essere attivi più profili dei servizi per i giochi di Play che in precedenza hanno "richiamato" un determinato account. In questo caso, esistono due soluzioni principali che potrebbero funzionare altrettanto bene:
Salva comunque Nel modello "Salva comunque", ignoriamo i rimandi duplicati a un determinato account.
Esegui l'override Nel modello "Sostituisci", lo sviluppatore deve ricordare i servizi per i giochi di Play con le mappature degli account e cancellare le mappature precedenti nelle tabelle del modello "Sostituisci". In questo modo, possono mantenere una mappatura 1:1 pulita degli account richiamati e degli account dei servizi per i giochi di Play.
Richiamo dello stesso dispositivo Anche un giocatore multi-account può utilizzare l'implementazione del richiamo per passare rapidamente da un account di gioco all'altro.