Bu kılavuzda, oyununuzdaki başarıların kilidini açmak ve görüntülemek için Android uygulamasındaki başarı API'larını 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ı oyunu konseptlerini incelemeniz faydalı olabilir.
Başarılar API'sını kullanarak kodlamaya başlamadan önce:
Google Play Hizmetleri SDK'sını kurma kılavuzundaki, Google Play Games Hizmetleri'ni kullanmak üzere uygulamanızı yükleme ve ayarlama talimatlarını uygulayın.
Google Play Console kılavuzundaki talimatları uygulayarak oyununuzda kilidinin açılmasını veya görüntülenmesini istediğiniz başarıları tanımlayın.
Android örnekleri sayfasından başarılar kod örneklerini indirip inceleyin.
Kalite Kontrol Listesi'nde açıklanan önerilere aşina olun.
Başarı istemcisi alma
Başarılar API'sini kullanmaya başlamak için oyununuzun önce bir
AchievementsClient
nesnesi edinmesi gerekir. Bunu, Games.getAchievementClient()
yöntemini çağırarak ve etkinliği ileterek yapabilirsiniz.
Başarıların kilidini aç
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ı, artımlı türdeyse (yani kilidini açmak için birkaç adım gerekiyorsa) bunun yerine AchievementsClient.increment()
yöntemini arayı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 Games Hizmetleri, gereken adım sayısına ulaştığında başarının kilidini otomatik olarak açar.
strings.xml
dosyasında başarı kimliklerini tanımlamak iyi bir uygulamadır. Böylece oyununuz, kaynak kimliğine göre başarılara başvurabilir. Başarıları güncelleme ve yükleme çağrıları yaparken API kotanızı aşmamak için bu en iyi uygulamaları da uyguladığınızdan emin olun.
Başarıları görüntüle
Bir oyuncunun başarılarını göstermek için AchievementsClient.getAchievementsIntent()
numaralı telefonu arayarak
Intent
alanıyla varsayılan başarılar kullanıcı arayüzünü oluşturun. Daha sonra oyununuz, startActivityForResult
yöntemini ç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.