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ğırarak ve etkinliği ve mevcut oynatıcı için GoogleSignInAccount
öğesini ileterek yapabilirsiniz. Oyuncu hesabı bilgilerini nasıl alacağınızı öğrenmek için Android oyunlarında oturum açma başlıklı makaleyi inceleyin.
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:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(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:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(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 çağrılar yaparken API kotanızı aşmamak üzere bu en iyi uygulamaları da izlediğinizden emin olun.
Başarıları görüntüleme
Bir oyuncunun başarılarını göstermek için AchievementsClient.getAchievementsIntent()
çağrısı yaparak varsayılan başarı kullanıcı arayüzünü oluşturmak üzere bir Intent
alı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örüntüleyebileceğ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() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(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.