इस गाइड में बताया गया है कि Android ऐप्लिकेशन में लीडरबोर्ड एपीआई का इस्तेमाल करके, विज़ुअल लीडरबोर्ड कैसे बनाए जाते हैं. साथ ही, इसमें यह भी बताया गया है कि किसी खिलाड़ी का स्कोर कैसे रिकॉर्ड किया जाता है और पिछली बार खेले गए गेम के स्कोर से उसकी तुलना कैसे की जाती है. ये एपीआई,
com.google.android.gms.games
और com.google.android.gms.games.leaderboards पैकेज में मौजूद हैं.
शुरू करने से पहले
लीडरबोर्ड एपीआई का इस्तेमाल करके कोडिंग शुरू करने से पहले:
Google Play की गेम सेवाओं का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को इंस्टॉल और सेट अप करने के निर्देशों का पालन करें. ये निर्देश, Google Play सेवाओं के एसडीके को सेट अप करना गाइड में दिए गए हैं.
GiHub पर, Android के सैंपल वाले पेज पर मौजूद, लीडरबोर्ड के कोड सैंपल डाउनलोड करें और उनकी समीक्षा करें.
लीडरबोर्ड क्लाइंट पाना
लीडरबोर्ड एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले
LeaderboardsClient ऑब्जेक्ट पाना होगा.
इसके लिए, PlayGames.getLeaderboardsClient()
तरीके का इस्तेमाल करें और गतिविधि की जानकारी उपलब्ध कराएं.
खिलाड़ी का स्कोर अपडेट करना
जब खिलाड़ी का स्कोर बदलता है
(उदाहरण के लिए, जब खिलाड़ी गेम खत्म करता है), तो आपका
गेम लीडरबोर्ड पर उसका स्कोर अपडेट कर सकता है. इसके लिए, LeaderboardsClient.submitScore()को कॉल करके,
लीडरबोर्ड आईडी और स्कोर की असल वैल्यू उपलब्ध कराएं.
यहां दिया गया कोड स्निपेट दिखाता है कि आपका ऐप्लिकेशन, खिलाड़ी का स्कोर कैसे अपडेट कर सकता है:
PlayGames.getLeaderboardsClient(this)
.submitScore(getString(R.string.leaderboard_id), 1337);strings.xml फ़ाइल में लीडरबोर्ड आईडी तय करना एक अच्छा तरीका है. इससे आपका गेम, संसाधन आईडी के हिसाब से लीडरबोर्ड को रेफ़र कर सकता है. खिलाड़ियों के स्कोर
अपडेट करने और लोड करने के लिए कॉल करते समय, एपीआई कोटा से ज़्यादा इस्तेमाल से बचने के लिए, इन
सबसे सही तरीकोंका भी पालन करें.
लीडरबोर्ड दिखाना
लीडरबोर्ड दिखाने के लिए,
LeaderboardsClient.getLeaderboardIntent() को कॉल करें. इससे, डिफ़ॉल्ट लीडरबोर्ड यूज़र इंटरफ़ेस (यूआई) बनाने के लिए,
Intent मिलता है. इसके बाद, आपका गेम
यूज़र इंटरफ़ेस (यूआई) को कॉल करके
startActivityForResult दिखा सकता है.
यहां दिया गया कोड स्निपेट दिखाता है कि आपका ऐप्लिकेशन, खिलाड़ी का स्कोर कैसे अपडेट कर सकता है.
कोड स्निपेट में, RC_LEADERBOARD_UI अनुरोध कोड के लिए कोई भी पूर्णांक हो सकता है.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { PlayGames.getLeaderboardsClient(this) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
startActivityForResult का इस्तेमाल करना ज़रूरी है. भले ही, इससे कोई नतीजा न मिले.
इससे एपीआई को, कॉलिंग पैकेज की पहचान मिलती है. यहां दी गई इमेज में, डिफ़ॉल्ट लीडरबोर्ड यूज़र इंटरफ़ेस (यूआई) का एक उदाहरण दिखाया गया है.