Per accedere alla funzionalità dei servizi per i giochi di Google Play, il gioco deve fornire i seguenti elementi: all'account del giocatore che ha eseguito l'accesso. Questa documentazione descrive come implementare un'esperienza di accesso fluida nel tuo gioco.
L'SDK dei servizi per i giochi di Play v2 presenta una serie di miglioramenti che aumentano le numero di utenti che hanno eseguito l'accesso al tuo gioco e semplifica lo sviluppo:
- Miglioramenti per gli utenti:
- Dopo aver selezionato un account predefinito, gli utenti possono accedere senza dover interagire con un prompt.
- Gli utenti non devono più scaricare l'app Play Giochi per accedere Servizi per i giochi di Play o crea un nuovo account.
- Ora gli utenti possono gestire i propri account dei servizi per i giochi di Play per più giochi da un'unica pagina.
- Miglioramenti per gli sviluppatori:
- Il codice client non deve più gestire il flusso di accesso o uscita, come accesso si attiva automaticamente all'avvio del gioco e la gestione dell'account gestiti nelle impostazioni del sistema operativo.
Nuova integrazione del client
Questa sezione mostra come eseguire una nuova integrazione del client con i servizi per i giochi di Play Accedi v2.
Aggiungi la dipendenza
Aggiungi la dipendenza dell'SDK dei servizi per i giochi di Play al livello principale dell'app
build.gradle
. Se utilizzi Gradle, puoi aggiungere o aggiornare
della dipendenza come segue:
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
Definisci l'ID progetto
Per aggiungere l'ID progetto dell'SDK dei servizi per i giochi di Play alla tua app, completa la sezione seguenti passaggi:
Nel file
AndroidManifest.xml
dell'app, aggiungi quanto segue<meta-data>
e attributi all'elemento<application>
:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
Definisci il riferimento alla risorsa String
@string/game_services_project_id
utilizzando l'ID progetto dei servizi per i giochi dei tuoi giochi come valore. I tuoi servizi per i giochi l'ID progetto è disponibile sotto il nome del gioco nella pagina Configurazione del Google Play Console.Nel file
res/values/strings.xml
, aggiungi un riferimento alle risorse di tipo stringa e imposta l'ID progetto come valore. In Google Play Console puoi trovare l'ID progetto sotto il nome del gioco nella pagina Configurazione. Ad esempio:<!-- res/values/strings.xml --> <resources> <!-- Replace 0000000000 with your game’s project id. Example value shown above. --> <string translatable="false" name="game_services_project_id"> 0000000000 </string> </resources>
Inizializzare l'SDK
Inizializza l'SDK Play Giochi nel callback onCreate(..)
del tuo Application
.
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
super.onCreate();
PlayGamesSdk.initialize(this);
}
Visualizzare il risultato dell'accesso
All'avvio del gioco, tenterà sempre di eseguire l'accesso dell'utente. A autenticare l'utente, è necessario verificare che abbia eseguito l'accesso, e recupera l'ID giocatore.
Per verificare il tentativo di accesso, chiama GamesSignInClient.isAuthenticated()
e
usa addOnCompleteListener
per recuperare i risultati. Ad esempio:
GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());
gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
boolean isAuthenticated =
(isAuthenticatedTask.isSuccessful() &&
isAuthenticatedTask.getResult().isAuthenticated());
if (isAuthenticated) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a
// login button to ask players to sign-in. Clicking it should
// call GamesSignInClient.signIn().
}
});
Se l'utente sceglie di non eseguire l'accesso all'avvio del gioco, puoi scegliere
scegli di continuare a mostrare un pulsante con l'icona Play Giochi e prova a
accedi di nuovo all'utente chiamando GamesSignInClient.signIn()
se
preme il pulsante.
Dopo aver verificato che l'utente abbia effettuato l'accesso, puoi recuperare l'ID giocatore per identificare l'utente. Ad esempio:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);