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:

Başarı müşterisi edinme

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

Başarıların kilidi açılıyor

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

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 kilidini açmak için), bunun yerine AchievementsClient.increment() numaralı telefonu arayın.

Aşağıdaki kod snippet'i, uygulamanızın oynatıcının başarısını nasıl artırabileceğini gösterir:

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 oyun hizmetleri istenen adım sayısına ulaştığında başarının kilidi otomatik olarak açılır.

Başarı kimliklerini strings.xml dosyasında tanımlamak iyi bir uygulamadır. Oyununuz kaynak kimliğine göre başarılara başvurabilir. Güncelleme ve yükleme çağrısı yaparken aşağıdaki en iyi uygulamaları izleyerek API kotanızı aşmaktan kaçınmalısınız.

Başarılar gösteriliyor

Bir oyuncunun başarılarını görmek için AchievementsClient.getAchievementsIntent() numaralı telefonu arayın ve oluşturmak için Intent alın varsayılan başarı kullanıcı arayüzü. Oyununuz, startActivityForResult.

Aşağıdaki kod snippet'i, uygulamanızın varsayılan başarı kullanıcı arayüzünü nasıl görüntüleyebileceğini gösterir. Snippet'te RC_ACHIEVEMENT_UI, oyunun istek kodu olarak kullandığı rastgele bir tam sayıdır.

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.