L'accesso ai servizi per i giochi di Play ti fornisce l'identità di gioco di un giocatore, che è un'identità specifica per i giochi a livello di piattaforma per i giocatori Android. Questa identità contribuisce a creare un rapporto tra il tuo gioco e il giocatore. I giocatori sono più propensi a utilizzare questa identità per accedere rispetto ai sistemi centralizzati alternativi.
Inoltre, l'accesso ti fornisce un identificatore sicuro e coerente che puoi utilizzare come chiave per un sistema di salvataggio sul cloud. La funzionalità di salvataggio sul cloud è molto apprezzata, in quanto consente ai giocatori di svolgere quanto segue:
- Riprendere da dove avevano interrotto se cambiano o reimpostano il dispositivo
- Giocare su più dispositivi (ad esempio, su un altro smartphone o su un Chromebook)
- Disinstallare e reinstallare il gioco
Puoi utilizzare l'identità dei servizi per i giochi di Play come chiave per la tua soluzione di salvataggio sul cloud oppure puoi utilizzare il servizio Giochi salvati senza costi aggiuntivi.
I servizi per i giochi di Play (PGS) supportano l'accesso automatico, un modo senza problemi per far accedere i giocatori, nonché l'accesso manuale, che è un processo con un solo clic. Questo documento descrive questi diversi metodi di accesso.
Flusso di accesso consigliato
Per consentire agli utenti di accedere correttamente al tuo gioco, utilizza il seguente flusso di accesso:
- Durante la sequenza di avvio del gioco, prova l'opzione Accesso automatico per far accedere automaticamente il giocatore.
- Se l'accesso automatico non funziona e il dispositivo dell'utente è online, prova l'accesso manuale.
- Se l'accesso manuale viene rifiutato, ricorda la scelta dell'utente e non mostrare di nuovo l'accesso manuale, ma continua a provare Accesso automatico all'avvio.
Inoltre, devi assicurarti che gli utenti possano accedere al tuo gioco con il loro account dei servizi per i giochi di Google Play tramite un pulsante dedicato e facile da trovare.
Accesso automatico
L'accesso automatico consente agli utenti di accedere al tuo gioco senza problemi e è automatico. Se il tuo gioco richiede l'accesso dell'utente e l'impostazione di accesso automatico è attiva (nell'app Google Play Giochi), riceverai le credenziali di identità dei servizi per i giochi di Play dell'utente e l'utente vedrà l'esperienza di accesso dei servizi per i giochi di Play.
L'accesso automatico è un'impostazione che gli utenti possono controllare. Gli utenti possono scegliere di accedere automaticamente a tutti i giochi o di ricevere una richiesta ogni volta.
Accesso manuale
Se un utente non accede automaticamente al gioco, puoi chiedergli di accedere manualmente. Gli utenti possono accedere con un solo clic da una finestra di dialogo visualizzata sopra il gioco.
Consentire i popup PGS per un'esperienza di accesso corretta
Quando utilizzano la funzionalità PGS, gli utenti devono sapere di aver eseguito l'accesso. A questo scopo, viene mostrata l'esperienza di accesso ai servizi per i giochi di Play.
Per mostrare l'esperienza di accesso, chiama il metodo setViewForPopups()
della classe GamesClient
durante l'avvio del gioco. Questo è fondamentale per attivare l'esperienza utente corretta.
Ambiti OAuth e PGS
PGS si basa sul sistema OAuth per consentire agli utenti di concedere al tuo gioco l'accesso al loro account. Gli ambiti OAuth sono le autorizzazioni che puoi richiedere in qualità di sviluppatore. Se concesse, queste autorizzazioni consentono al tuo gioco di chiamare determinate API per conto dell'utente e ti forniscono anche l'accesso ad alcune parti del suo Account Google.
PGS ha un ambito univoco per i giochi (games-lite
) e si basa su un altro ambito (drive.appdata
) se il tuo gioco utilizza la funzionalità Giochi salvati. La funzionalità Giochi salvati consente di accedere all'account Google Drive dell'utente, dove vengono memorizzati i dati del gioco.
Il tuo gioco può richiedere qualsiasi ambito necessario per creare un'esperienza di gioco eccezionale per i tuoi utenti. Il tuo gioco può richiedere tutti gli ambiti di cui ha bisogno in un unico bundle, limitando il numero di richieste di accesso all'Account Google. Tuttavia, questo approccio presenta un grave svantaggio. Se richiedi più ambiti specifici per i giochi di Play, l'accesso automatico non può andare a buon fine. L'accesso automatico è il modo migliore per convincere i giocatori ad accedere al tuo gioco.
La best practice è utilizzare richieste di ambito incrementali. Il gioco deve richiedere prima gli scopi solo per i giochi di gru a pesca verticale nella richiesta iniziale e richiedere gli altri scopi separatamente in un momento più pertinente.
L'accesso OAuth viene concesso utilizzando una schermata diversa per ogni ambito. In questo modo, gli utenti possono decidere in modo granulare a quali ambiti concedere l'accesso. Se utilizzi l'accesso automatico solo con gli ambiti PGS, gli utenti non dovranno interagire con nessuna richiesta OAuth, riducendo le difficoltà di accesso.
Supporto di più metodi di accesso
I servizi per i giochi di Play offrono un'identità di gioco per i giocatori Android, ma non è necessario che sia l'unica identità connessa agli utenti. Puoi consentire ai giocatori di accedere utilizzando PGS, un ID social network e il tuo sistema di ID in-game contemporaneamente. Ogni sistema offre un valore unico sia per te che per i tuoi giocatori e tutti possono lavorare insieme per offrire un'esperienza eccezionale ai giocatori Android.
Recuperare e verificare in modo sicuro l'identità del player per l'integrazione di backend
Puoi richiedere un codice di autenticazione del server per consentire al tuo server di comunicare direttamente con i server di Play Services tramite l'API REST con l'autorità del giocatore che ha eseguito l'accesso. In questo modo è possibile accedere direttamente all'ID, al profilo e ad altre informazioni del giocatore (ad esempio l'elenco di amici, se autorizzato). Se memorizzi ID giocatore, ID amico o altri dati correlati nel tuo backend, devi utilizzare questo metodo per eliminare la possibilità di manipolazione lato dispositivo di questi campi.
Inoltre, per alcuni giochi e giocatori meno recenti, l'ID giocatore restituito dall'SDK Android per un giocatore potrebbe non essere lo stesso ID visualizzato dagli altri giocatori quando visualizzano quel giocatore nello stesso gioco. Questo è particolarmente importante quando si utilizza l'elenco di amici. Tuttavia, l'player_id
restituito nell'API REST è sempre coerente ed è sempre l'ID visualizzato dagli altri giocatori.
Per saperne di più, consulta Accesso offline e la documentazione dell'API REST.
Implementazione del client
Per scoprire come implementare il supporto per l'accesso su Android, consulta Accedere ai giochi Android.