Android oyunlarındaki başarılar

Bu rehber, bir Android uygulamasında başarı API'lerinin nasıl kullanılacağını gösterir. kullanabilirsiniz. API'ler, com.google.android.gms.games ve com.google.android.gms.games.achievements paketleri dahildir.

Başlamadan önce

Henüz yapmadıysanız başarılar oyunu kavramlarını inceleyin.

Başarılar API'sini kullanarak kodlamaya başlamadan önce:

Bir başarı müşterisi edinin

Başarılar API'sini kullanmaya başlamak için oyununuzun önce bir AchievementsClient nesnesini tanımlayın. Bunu, Games.getAchievementClient() ve etkinliği iletmenizi sağlar.

Başarıların kilidini açın

Bir başarının kilidini açmak için AchievementsClient.unlock() yöntemini kullanın ve başarı kimliğini iletin.

Aşağıdaki kod snippet'i, uygulamanızın başarıların kilidini nasıl açabileceğini gösterir:

PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));

Başarı artımlı türdeyse (yani (kilitlemek için gereklidir), bunun yerine AchievementsClient.increment() numaralı telefonu arayın.

Aşağıdaki kod snippet'i, uygulamanızın oynatıcının başarı:

PlayGames.getAchievementsClient(this).increment(getString(R.string.my_achievement_id), 1);

Başarının kilidini açmak için ek kod yazmanız gerekmez; Google Play Games Hizmetleri istenen sayıya ulaştığında başarının kilidini otomatik olarak açar adımları.

Başarı kimliklerini strings.xml dosyasında tanımlamak iyi bir uygulamadır. Oyununuz kaynak kimliğine göre başarılara başvurabilir. Çağrı yaparken başarıları güncelleyebilir ve yükleyebilirsiniz. Ayrıca, API'nizi aşmamaya yönelik en iyi uygulamalar kota.

Başarıları görüntüle

Bir oyuncunun başarılarını görmek için AchievementsClient.getAchievementsIntent() numaralı telefonu arayın almak için Intent kullanıcı arayüzünü oluşturun. Oyununuz daha sonra şunu çağırarak kullanıcı arayüzünü startActivityForResult.

Aşağıdaki kod snippet'i, uygulamanızın varsayılan kullanıcı arayüzü. Snippet'te RC_ACHIEVEMENT_UI rastgele bir değerdir Oyunun istek kodu olarak kullandığı tam sayı.

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);
        }
      });
}

Varsayılan başarı kullanıcı arayüzünün bir örneği aşağıda gösterilmektedir.