Android oyunlarındaki başarılar

Bu kılavuzda, oyununuzdaki başarıların kilidini açmak ve başarıları görüntülemek için Android uygulamasında başarı API'lerinin nasıl kullanılacağı gösterilmektedir. API'leri com.google.android.gms.games ve com.google.android.gms.games.achievements paketlerinde bulabilirsiniz.

Başlamadan önce

Henüz yapmadıysanız başarı oyun kavramlarını incelemeniz faydalı olabilir.

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

Başarı istemcisi alma

Başarılar API'sini kullanmaya başlamak için oyununuzun önce bir AchievementsClient nesnesi alması gerekir. Bunu, Games.getAchievementClient() yöntemini çağırıp etkinliği ileterek yapabilirsiniz.

Başarıların kilidini açma

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

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

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

Başarı artımlı türdeyse (yani kilidini açmak için birkaç adım gerekirse) bunun yerine AchievementsClient.increment() işlevini çağırın.

Aşağıdaki kod snippet'inde, uygulamanızın oyuncunun başarısını nasıl artırabileceği gösterilmektedir:

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, gereken adım sayısına ulaşıldığında başarının kilidini otomatik olarak açar.

Oyununuzun başarıları kaynak kimliğine göre referans verebilmesi için başarı kimliklerini strings.xml dosyasında tanımlamak iyi bir uygulamadır. Başarıları güncellemek ve yüklemek için API kotanızı aşmamak amacıyla bu en iyi uygulamalardan da yararlanın.

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

Bir oyuncunun başarılarını göstermek için AchievementsClient.getAchievementsIntent() işlevini çağırın ve varsayılan başarı kullanıcı arayüzünü oluşturmak için Intent işlevini çağırın. Ardından oyununuz startActivityForResult çağrısını yaparak kullanıcı arayüzünü açabilir.

Aşağıdaki kod snippet'inde, uygulamanızın varsayılan başarı kullanıcı arayüzünü nasıl gösterebileceği gösterilmektedir. 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ü örneği aşağıda gösterilmiştir.