Questa guida mostra come utilizzare le API Classifica in un'app per Android per creare classifiche visive, registrare il punteggio di un giocatore e confrontare il punteggio con quello del giocatore delle sessioni di gioco precedenti. Le API sono disponibili nei pacchetti com.google.android.gms.games
e com.google.android.gms.games.leaderboards
.
Prima di iniziare
Se non l'hai ancora fatto, potrebbe esserti utile consultare i concetti relativi ai giochi delle classifiche.
Prima di iniziare a programmare utilizzando le API Leaderboard:
Segui le istruzioni per installare e configurare la tua app per utilizzare i servizi per i giochi di Google Play nella guida Configurare l'SDK Google Play Services.
Definisci le classifiche che vuoi che il tuo gioco mostri o aggiorni, seguendo le istruzioni nella guida di Google Play Console.
Scarica ed esamina gli esempi di codice delle classifiche nella pagina Esempi di Android su GiHub.
Acquisisci familiarità con i consigli descritti nell'elenco di controllo della qualità.
Ottieni il client Leaderboard
Per iniziare a utilizzare l'API Leaderboards, il gioco deve prima ottenere un oggetto LeaderboardsClient
.
Per farlo, chiama il metodo Games.getLeadeboardsClient()
e trasmette l'attività.
Aggiornare il punteggio del giocatore
Quando il punteggio del giocatore cambia (ad esempio, quando il giocatore finisce di giocare), il gioco può aggiornare il suo punteggio nella classifica chiamando LeaderboardsClient.submitScore()
, inserendo l'ID della classifica e il valore del punteggio non elaborato.
Il seguente snippet di codice mostra come la tua app può aggiornare il punteggio del player:
PlayGames.getLeaderboardsClient(this) .submitScore(getString(R.string.leaderboard_id), 1337);
È buona norma definire l'ID della classifica nel file strings.xml
, in modo che il gioco possa fare riferimento alle classifiche in base all'ID risorsa. Quando effettui chiamate per aggiornare e caricare i punteggi dei player, assicurati di seguire anche queste best practice per evitare di superare la quota API.
Visualizzare una classifica
Per visualizzare la classifica, chiama il numero LeaderboardsClient.getLeaderboardIntent()
per ottenere un Intent
per creare l'interfaccia utente predefinita per la classifica. Il gioco potrà quindi visualizzare l'interfaccia utente chiamando
startActivityForResult
.
Il seguente snippet di codice mostra come la tua app può aggiornare il punteggio del player. Nello snippet di codice, RC_LEADERBOARD_UI
è un numero intero arbitrario per il codice della richiesta.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { PlayGames.getLeaderboardsClient(this) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
Anche se non viene restituito alcun risultato, devi utilizzare startActivityForResult
per consentire all'API di ottenere l'identità del pacchetto chiamante. Di seguito è mostrato un esempio dell'interfaccia utente
della classifica predefinita.