Google ile Giriş API'sinin desteğinin sonlandırılmasının ardından, 2026'da Games v1 SDK'sını kaldırıyoruz. Şubat 2025'ten sonra games v1 SDK'sıyla yeni entegre edilen oyunları Google Play'de yayınlayamayacaksınız. Bunun yerine games v2 SDK'sını kullanmanızı öneririz.
Önceki Games v1 entegrasyonlarına sahip mevcut uygulamalar birkaç yıl daha çalışmaya devam edecek olsa da
Haziran 2025'ten itibaren
v2'ye geçiş yapmanız
önerilir.
Bu kılavuz, Play Games Hizmetleri v1 SDK'sının kullanımıyla ilgilidir. En son SDK sürümü hakkında bilgi için v2 belgelerine bakın.
Bu kılavuzda, oyununuzdaki başarıların kilidini açmak ve bunları göstermek için Android uygulamasında başarı API'lerinin nasıl kullanılacağı açıklanmaktadır. 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ılarla ilgili oyun kavramlarını incelemeniz faydalı olabilir.
Başarılar API'sini kullanarak kod yazmaya başlamadan önce:
- Uygulamanızı yükleme ve ayarlama talimatlarını uygulayarak Google Play Hizmetleri SDK'sını ayarlama rehberindeki Google Play Oyun Hizmetleri'ni kullanı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ındaki başarı kodu örneklerini indirip inceleyin.
- Kalite Kontrol Listesi'nde açıklanan öneriler hakkında bilgi edinin.
Başarılar istemcisi edinme
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 ve mevcut oyuncu için GoogleSignInAccount
değerini 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 kilidini nasıl 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 gerekiyorsa) 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 Games Hizmetleri, gerekli adım sayısına ulaşıldığında başarıyı otomatik olarak açar.
Başarı kimliklerini strings.xml
dosyasında tanımlamak iyi bir uygulamadır. Böylece oyununuz, kaynak kimliğine göre başarılara başvurabilir. Başarıları güncellemek ve yüklemek için çağrı yaparken API kotanızı aşmamak için bu en iyi uygulamaları da uyguladığınızdan emin olun.
Başarıları görüntüleme
Bir oyuncunun başarılarını göstermek için AchievementsClient.getAchievementsIntent()
işlevini çağırarak varsayılan başarılar kullanıcı arayüzünü oluşturmak üzere Intent
elde edin. Oyununuz daha sonra startActivityForResult
işlevini çağırarak kullanıcı arayüzünü gösterebilir.
Aşağıdaki kod snippet'inde, uygulamanızın varsayılan başarı kullanıcı arayüzünü nasıl gösterebileceği açıklanmaktadır.
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ılar kullanıcı arayüzünün bir örneği aşağıda gösterilmektedir.
