इस गाइड में बताया गया है कि Android ऐप्लिकेशन में लीडरबोर्ड एपीआई का इस्तेमाल करके, विज़ुअल लीडरबोर्ड कैसे बनाए जाते हैं. साथ ही, इसमें खिलाड़ी का स्कोर रिकॉर्ड करने और पिछली बार के गेम सेशन में मिले स्कोर से तुलना करने का तरीका भी बताया गया है. इन एपीआई को
com.google.android.gms.games
और com.google.android.gms.games.leaderboards पैकेज में देखा जा सकता है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो लीडरबोर्ड से जुड़े गेम के कॉन्सेप्ट देखें. इससे आपको मदद मिल सकती है.
लीडरबोर्ड एपीआई का इस्तेमाल करके कोडिंग शुरू करने से पहले:
GiHub पर, Android के सैंपल वाले पेज पर जाकर, लीडरबोर्ड के कोड सैंपल डाउनलोड करें और उनकी समीक्षा करें.
लीडरबोर्ड क्लाइंट पाना
लीडरबोर्ड एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले
LeaderboardsClient ऑब्जेक्ट पाना होगा.
इसके लिए, PlayGames.getLeaderboardsClient()
तरीके का इस्तेमाल करें और गतिविधि की जानकारी उपलब्ध कराएं.
खिलाड़ी का स्कोर अपडेट करना
जब खिलाड़ी का स्कोर बदलता है
(उदाहरण के लिए, जब खिलाड़ी गेम खत्म करता है), तो आपका
गेम लीडरबोर्ड पर उसका स्कोर अपडेट कर सकता है. इसके लिए, LeaderboardsClient.submitScore()को कॉल करके,
लीडरबोर्ड आईडी और स्कोर की असल वैल्यू उपलब्ध कराएं.
नीचे दिया गया कोड स्निपेट दिखाता है कि आपका ऐप्लिकेशन, खिलाड़ी का स्कोर कैसे अपडेट कर सकता है:
PlayGames.getLeaderboardsClient(this)
.submitScore(getString(R.string.leaderboard_id), 1337);strings.xml फ़ाइल में लीडरबोर्ड आईडी तय करना एक अच्छा तरीका है. इससे आपका गेम, संसाधन आईडी के हिसाब से लीडरबोर्ड को रेफ़र कर सकता है. खिलाड़ियों के स्कोर
अपडेट और लोड करने के लिए कॉल करते समय, एपीआई कोटा से ज़्यादा इस्तेमाल से बचने के लिए, इन
सबसे सही तरीकों का भी पालन करें.
लीडरबोर्ड दिखाना
लीडरबोर्ड दिखाने के लिए, डिफ़ॉल्ट लीडरबोर्ड यूज़र इंटरफ़ेस (यूआई) बनाने के लिए
Intent पाने के लिए,
LeaderboardsClient.getLeaderboardIntent() को कॉल करें. इसके बाद, आपका गेम
यूज़र इंटरफ़ेस (यूआई) को कॉल करके
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 का इस्तेमाल करना ज़रूरी है, भले ही इससे कोई नतीजा न मिले.
इससे एपीआई को, कॉलिंग पैकेज की पहचान मिल जाती है. नीचे दी गई इमेज में, डिफ़ॉल्ट लीडरबोर्ड यूज़र इंटरफ़ेस (यूआई) का एक उदाहरण दिखाया गया है.