Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bu kılavuzda, görsel skor tabloları oluşturmak, bir oyuncunun skorunu kaydetmek ve bu skoru oyuncunun önceki oyun oturumlarındaki skoruyla karşılaştırmak için Android uygulamalarında skor tablosu API'lerinin nasıl kullanılacağı gösterilmektedir. API'leri com.google.android.gms.games ve com.google.android.gms.games.leaderboards paketlerinde bulabilirsiniz.
Liderlik tablosu API'lerini kullanarak kodlamaya 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 göstermesini veya güncellemesini istediğiniz skor tablolarını tanımlayın.
Skor tabloları API'sini kullanmaya başlamak için oyununuzun önce bir LeaderboardsClient nesnesi alması gerekir.
Bunu, PlayGames.getLeadeboardsClient() yöntemini çağırıp etkinliği ileterek yapabilirsiniz.
Oyuncunun puanını güncelleme
Oyuncunun puanı değiştiğinde (örneğin, oyuncu oyunu tamamladığında) oyununuz LeaderboardsClient.submitScore() işlevini çağırarak ve liderlik tablosu kimliğini ve ham puan değerini ileterek oyuncunun liderlik tablosundaki puanını güncelleyebilir.
Aşağıdaki kod snippet'inde, uygulamanızın oyuncunun puanını nasıl güncelleyebileceği gösterilmektedir:
Oyununuzun skor tablolarına kaynak kimliğine göre referans verebilmesi için skor tablosu kimliğini strings.xml dosyanızda tanımlamak iyi bir uygulamadır. Oyuncu puanlarını güncellemek ve yüklemek için çağrı yaparken API kotanızı aşmamak üzere aşağıdaki en iyi uygulamalardan da yararlanın.
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.
Sonuç döndürülmese bile API'nin arayan paketin kimliğini alabilmesi için startActivityForResult kullanmanız gerekir. Varsayılan leaderboard kullanıcı arayüzü örneği aşağıda gösterilmiştir.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-26 UTC."],[],[],null,["# Leaderboards in Android games\n\n| **Note:** This guide is for the Play Games Services v2 SDK. For information on the previous version of this SDK, see the [Play Games Services v1\n| documentation](/games/pgs/v1/android/leaderboards).\n\nThis guide shows you how to use leaderboards APIs in an Android app\nto create visual leaderboards, record a player's score, and compare the score\nagainst the player's score from previous game sessions. The APIs can be found\nin the [`com.google.android.gms.games`](https://developers.google.com/android/reference/com/google/android/gms/games/package-summary)\nand [`com.google.android.gms.games.leaderboards`](https://developers.google.com/android/reference/com/google/android/gms/games/leaderboard/package-summary) packages.\n\nBefore you begin\n----------------\n\nIf you haven't already done so, you might find it helpful to review the\n[leaderboards game concepts](/games/pgs/leaderboards).\n\nBefore you start to code using the leaderboards APIs:\n\n- Follow the instructions for installing and setting up your app to use\n Google Play Games Services in the\n [Set Up Google Play Services SDK](https://developers.google.com/android/guides/setup) guide.\n\n- Define the leaderboards that you want your game to display or update, by\n following the instructions in the\n [Google Play Console guide](/games/pgs/leaderboards#creating_a_leaderboard).\n\n- Download and review the leaderboards code samples in the\n [Android samples page](https://github.com/playgameservices/android-basic-samples) on GiHub.\n\n- Familiarize yourself with the recommendations described in\n [Quality Checklist](/games/pgs/quality).\n\nGet the leaderboards client\n---------------------------\n\nTo start using the leaderboards API, your game must first obtain a\n[`LeaderboardsClient`](https://developers.google.com/android/reference/com/google/android/gms/games/LeaderboardsClient) object.\nYou can do this by calling the [`PlayGames.getLeadeboardsClient()`](https://developers.google.com/android/reference/com/google/android/gms/games/PlayGames#public-static-leaderboardsclient-getleaderboardsclient-activity-activity)\nmethod and passing in the activity.\n| **Note:** The [`LeaderboardsClient`](https://developers.google.com/android/reference/com/google/android/gms/games/LeaderboardsClient) class makes use of the Google Play services Task class to return results asynchronously. To learn more about using tasks to manage threaded work, see the [Tasks API developer guide](https://developers.google.com/android/guides/tasks).\n\nUpdate the player's score\n-------------------------\n\nWhen the player's score changes (for example, when the player finishes the game), your\ngame can update their score on the leaderboard by calling\n[`LeaderboardsClient.submitScore()`](https://developers.google.com/android/reference/com/google/android/gms/games/LeaderboardsClient#submitScore),\nand passing in the leaderboard ID and the raw score value.\n\nThe following code snippet shows how your app can update the player's score: \n\n```scdoc\nPlayGames.getLeaderboardsClient(this)\n .submitScore(getString(R.string.leaderboard_id), 1337);\n```\n\nA good practice is to define the leaderboard ID in your `strings.xml` file, so\nyour game can reference the leaderboards by resource ID. When making calls to\nupdate and load player scores, make sure to also follow these\n[best practices](/games/pgs/quality) to avoid exceeding your API quota.\n\nDisplay a leaderboard\n---------------------\n\nTo display leaderboard, call\n[`LeaderboardsClient.getLeaderboardIntent()`](https://developers.google.com/android/reference/com/google/android/gms/games/LeaderboardsClient#getLeaderboardIntent(java.lang.String)) to get an\n[`Intent`](/reference/android/content/Intent) to\ncreate the default leaderboard user interface. Your game can then bring up the\nUI by calling\n[`startActivityForResult`](/reference/android/app/Activity#startActivityForResult).\n\nThe following code snippet shows how your app can update the player's score. In the\ncode snippet, `RC_LEADERBOARD_UI` is an arbitrary integer for the request code. \n\n```transact-sql\nprivate static final int RC_LEADERBOARD_UI = 9004;\n\nprivate void showLeaderboard() {\n PlayGames.getLeaderboardsClient(this)\n .getLeaderboardIntent(getString(R.string.leaderboard_id))\n .addOnSuccessListener(new OnSuccessListener\u003cIntent\u003e() {\n @Override\n public void onSuccess(Intent intent) {\n startActivityForResult(intent, RC_LEADERBOARD_UI);\n }\n });\n}\n```\n\nEven though no result is returned, you have to use\n[`startActivityForResult`](/reference/android/app/Activity#startActivityForResult)\nso that the API can obtain the identity of the calling package. An example of\nthe default leaderboard UI is shown below."]]