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 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à.
Acquisisci un cliente per gli obiettivi
Per iniziare a utilizzare l'API Obiettivi, il tuo gioco deve prima ricevere un
AchievementsClient
. A questo scopo, puoi richiamare
Games.getAchievementClient()
e passare l'attività.
Sblocca obiettivi
Per sbloccare un obiettivo, chiama il
AchievementsClient.unlock()
e trasmette l'ID obiettivo.
Il seguente snippet di codice mostra come la tua app può sbloccare gli obiettivi:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
Se l'obiettivo è di tipo incrementale (ovvero, vengono necessari diversi passaggi
necessario per sbloccarlo), chiama invece il numero AchievementsClient.increment()
.
Il seguente snippet di codice mostra in che modo l'app può incrementare la visibilità risultato:
PlayGames.getAchievementsClient(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 richiesto di passaggi.
È buona norma definire gli ID obiettivo nel file strings.xml
, quindi
il gioco può fare riferimento agli obiettivi per ID risorsa. Quando effettui chiamate a
aggiorna e carica gli obiettivi, segui anche queste
best practice per evitare di superare il limite dell'API
quota.
Mostra obiettivi
Per mostrare gli obiettivi di un giocatore, chiama AchievementsClient.getAchievementsIntent()
per ottenere
Intent
per creare l'interfaccia utente predefinita degli obiettivi. A questo punto il gioco può visualizzare
alla UI richiamando
startActivityForResult
Il seguente snippet di codice mostra come la tua app può visualizzare l'URL predefinito
dell'obiettivo. Nello snippet, RC_ACHIEVEMENT_UI
è un valore arbitrario
numero intero utilizzato dal gioco come codice di richiesta.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { PlayGames.getAchievementsClient(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.