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, Android uygulamasında skor tablosu API'lerini kullanarak görsel skor tabloları oluşturma, oyuncuların skorlarını kaydetme ve skorları önceki oyun oturumlarındaki oyuncu skorlarıyla karşılaştırma işlemleri açıklanmaktadır. API'leri com.google.android.gms.games
ve com.google.android.gms.games.leaderboards
paketlerinde bulabilirsiniz.
Başlamadan önce
Henüz yapmadıysanız lider tablolarıyla ilgili oyun kavramlarını incelemeniz faydalı olabilir.
Liderlik tabloları API'lerini kullanarak kod yazmaya başlamadan önce:
- Google Play Hizmetleri SDK'sını Kurma rehberindeki Google Play Games Hizmetleri'ni kullanmak için uygulamanızı yükleme ve ayarlama talimatlarını uygulayın.
- Google Play Console rehberindeki talimatları uygulayarak oyununuzun göstermesini veya güncellemesini istediğiniz skor tablolarını tanımlayın.
- Android örnekleri sayfasındaki skor tabloları kod örneklerini indirip inceleyin.
- Kalite Kontrol Listesi'nde açıklanan öneriler hakkında bilgi edinin.
Liderlik tabloları istemcisini edinme
Skor tabloları API'sini kullanmaya başlamak için oyununuzun önce bir LeaderboardsClient
nesnesi alması gerekir.
Bunu, Games.getLeadeboardsClient()
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.
Oyuncunun puanını güncelleme
Oyuncunun puanı değiştiğinde (ör. oyuncu oyunu bitirdiğinde) oyununuz, LeaderboardsClient.submitScore()
işlevini çağırarak ve skor tablosu kimliği ile ham puan değerini ileterek oyuncunun puanını skor tablosunda güncelleyebilir.
Aşağıdaki kod snippet'inde, uygulamanızın oyuncunun puanını nasıl güncelleyebileceği gösterilmektedir:
Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .submitScore(getString(R.string.leaderboard_id), 1337);
İyi bir uygulama olarak, skor tablosu kimliğini strings.xml
dosyanızda tanımlayabilirsiniz. Böylece oyununuz, kaynak kimliğine göre skor tablolarına referans verebilir. Oyuncu puanlarını güncellemek ve yüklemek için çağrı yaparken API kotanızı aşmamak için aşağıdaki en iyi uygulamaları da uyguladığınızdan emin olun.
Skor tablosu görüntüleme
Skor tablosunu görüntülemek için LeaderboardsClient.getLeaderboardIntent()
çağrısı yaparak varsayılan skor tablosu kullanıcı arayüzünü oluşturmak üzere Intent
alın. Oyununuz daha sonra startActivityForResult
işlevini çağırarak kullanıcı arayüzünü gösterebilir.
Aşağıdaki kod snippet'inde, uygulamanızın oyuncunun puanını nasıl güncelleyebileceği gösterilmektedir. Kod snippet'inde RC_LEADERBOARD_UI
, istek kodu için rastgele bir tam sayıdır.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
Sonuç döndürülmese bile API'nin çağıran paketin kimliğini alabilmesi için startActivityForResult
kullanmamız gerektiğini unutmayın. Varsayılan skor tablosu kullanıcı arayüzü örneği aşağıda gösterilmiştir.
