Questa guida mostra come utilizzare le API degli obiettivi in un'applicazione per Android
per sbloccare e visualizzare gli obiettivi nel tuo gioco. Puoi trovare le API
in com.google.android.gms.games
e com.google.android.gms.games.achievements
pacchetti.
Prima di iniziare
Se non l'hai ancora fatto, potrebbe essere utile consultare il concetti del gioco degli obiettivi.
Prima di iniziare a programmare con l'API Obiettivi:
- Segui le istruzioni per installare e configurare l'app e usarla ai servizi per i giochi di Google Play in Guida alla configurazione dell'SDK Google Play Services.
- Definisci gli obiettivi che vuoi che il gioco venga sbloccato o visualizzato seguendo le istruzioni riportate nella guida di Google Play Console.
- Scarica ed esamina gli esempi di codice degli obiettivi nella Pagina di esempio Android.
- Acquisisci familiarità con i consigli descritti in Elenco di controllo della qualità.
Acquisizione di un cliente degli obiettivi
Per iniziare a utilizzare l'API Obiettivi, il tuo gioco deve prima ricevere un
AchievementsClient
. A questo scopo, puoi richiamare
Games.getAchievementClient()
e il passaggio dell'attività e
GoogleSignInAccount
per il player corrente. Per scoprire come recuperare
dati dell'account del giocatore, consulta la sezione Accedere ai giochi Android.
Sblocco degli obiettivi
Per sbloccare un obiettivo, chiama il metodo AchievementsClient.unlock()
e
da trasmettere nell'ID obiettivo.
Il seguente snippet di codice mostra come la tua app può sbloccare gli obiettivi:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
Se l'obiettivo è di tipo incrementale (ovvero, sono necessari diversi passaggi per
sbloccalo), chiama invece AchievementsClient.increment()
.
Il seguente snippet di codice mostra in che modo la tua app può incrementare l'obiettivo del player:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(getString(R.string.my_achievement_id), 1);
Non devi scrivere altro codice per sbloccare l'obiettivo. Servizi per i giochi di Google Play sblocca automaticamente l'obiettivo una volta raggiunto il numero di passaggi richiesto.
È buona norma definire gli ID obiettivo nel file strings.xml
, quindi
il gioco può fare riferimento agli obiettivi per ID risorsa. Quando effettui chiamate di aggiornamento e caricamento
risultati, accertati di seguire anche queste best practice per
evitare di superare la quota API.
Visualizzazione obiettivi
Per mostrare gli obiettivi di un giocatore, chiama AchievementsClient.getAchievementsIntent()
per ottenere un Intent
per creare
l'interfaccia utente predefinita degli obiettivi. Il gioco può quindi visualizzare la UI chiamando
startActivityForResult
Il seguente snippet di codice mostra come la tua app può visualizzare l'interfaccia utente predefinita dell'obiettivo.
Nello snippet, RC_ACHIEVEMENT_UI
è un numero intero arbitrario utilizzato dal gioco come codice di richiesta.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
Di seguito è riportato un esempio della UI predefinita degli obiettivi.
![](https://google-developers.gonglchuangl.net/static/games/services/android/images/Achievements_Android.png?authuser=0&hl=it)