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 provenienti da una singola pagina.
- Miglioramenti per gli sviluppatori:
- Il codice client non deve più gestire il flusso di accesso o di uscita, poiché l'accesso viene attivato automaticamente all'avvio del gioco e la gestione dell'account viene gestita nelle impostazioni del sistema operativo.
Nuova integrazione del client con la versione 2 di Accesso offerto dai servizi per i giochi di Play
Questa sezione mostra come eseguire una nuova integrazione del client con la versione 2 di Accesso ai servizi per i giochi di Play.
Aggiungi la dipendenza dall'SDK dei servizi per i giochi di Play
Aggiungi la dipendenza dall'SDK dei servizi per i giochi di Play al file build.gradle
di primo livello della tua app. Se utilizzi Gradle, puoi aggiungere o aggiornare la dipendenza
come segue:
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
Definire l'ID progetto dei servizi per i giochi di Play
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 della Google Play Console.Nel file
res/values/strings.xml
, aggiungi un riferimento alla risorsa stringa e imposta l'ID progetto come valore. In Google Play Console, puoi trovare il tuo 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>
Inizializza l'SDK
Inizializza l'SDK Play Games nel callback onCreate(..)
della tua classe Application
.
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate() {
super.onCreate();
PlayGamesSdk.initialize(this);
}
Ottieni 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 il numero 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 accedere al momento dell'avvio del gioco, puoi scegliere di continuare a mostrare un pulsante con l'icona di Play Giochi e tentare di farlo accedere di nuovo chiamando GamesSignInClient.signIn()
se l'utente preme il pulsante.
Dopo aver verificato che l'utente ha eseguito l'accesso, puoi recuperare l'ID giocatore per identificarlo. Ad esempio:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);