Android Oyunlarındaki Başarılar

Bu kılavuzda, oyununuzdaki başarıların kilidini açmak ve bunları görüntülemek için bir Android uygulamasında başarı API'lerini nasıl kullanacağınız gösterilmektedir. API'ler com.google.android.gms.games ve com.google.android.gms.games.achievements paketlerinde bulunabilir.

Başlamadan önce

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

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

Başarı müşterisi alma

Başarılar API'sini kullanmaya başlamak için oyununuzun öncelikle bir AchievementsClient nesnesi edinmesi gerekir. Bunun için Games.getAchievementClient() yöntemini çağırıp etkinliği iletebilirsiniz.

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'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ı ek türündeyse (kilidi açmak için birkaç adım gerekir) bunun yerine AchievementsClient.increment() çağrısı yapın.

Aşağıdaki kod snippet'i, uygulamanızın oyuncunun 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, gereken adım sayısına ulaştığında başarının kilidini otomatik olarak açar.

Oyununuzun başarıları kaynak kimliğine göre referans alabilmesi için strings.xml dosyasında başarı kimliklerini tanımlamanız önerilir. Başarıları güncellemek ve yüklemek için çağrı yaparken API kotanızı aşmamak amacıyla bu en iyi uygulamaları uyguladığınızdan emin olun.

Başarılar gösteriliyor

Bir oyuncunun başarılarını göstermek üzere AchievementsClient.getAchievementsIntent() simgesini arayarak varsayılan başarılar kullanıcı arayüzünü oluşturarak Intent edinin. Ardından oyununuz, startActivityForResult çağırarak kullanıcı arayüzünü açabilir.

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ılar kullanıcı arayüzünün bir örneği aşağıda gösterilmektedir.