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:
Google Play Hizmetleri SDK'sını kurma kılavuzundaki Google Play Oyun Hizmetleri'ni kullanmak için uygulamanızı yükleme ve ayarlama talimatlarını uygulayın.
Google Play Console kılavuzundaki talimatları uygulayarak oyununuzun kilidini açmasını veya göstermesini istediğiniz başarıları tanımlayın.
Android örnekleri sayfasında başarı kodu örneklerini indirip inceleyin.
Kalite Kontrol Listesi'nde açıklanan önerileri inceleyin.
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.