Android गेम में लीडरबोर्ड

इस गाइड में, विज़ुअल लीडरबोर्ड बनाने, खिलाड़ी का स्कोर रिकॉर्ड करने, और गेम के पिछले सेशन में खिलाड़ी के स्कोर की तुलना करने के लिए, Android ऐप्लिकेशन में लीडरबोर्ड एपीआई का इस्तेमाल करने का तरीका बताया गया है. एपीआई, com.google.android.gms.games और com.google.android.gms.games.leaderboards पैकेज में मिल सकते हैं.

शुरू करने से पहले

अगर आपने अब तक ऐसा नहीं किया है, तो लीडरबोर्ड गेम के कॉन्सेप्ट की समीक्षा करना आपके लिए मददगार हो सकता है.

लीडरबोर्ड एपीआई का इस्तेमाल करके कोड लिखने से पहले:

  • Google Play services SDK टूल सेट अप करें गाइड में दिए गए निर्देशों का पालन करके, अपने ऐप्लिकेशन को इंस्टॉल और सेट अप करें. इससे, आपको Google Play Games Services का इस्तेमाल करने में मदद मिलेगी.

  • Google Play Console की गाइड में दिए गए निर्देशों का पालन करके, उन लीडरबोर्ड की जानकारी दें जिन्हें आपको अपने गेम में दिखाना है या अपडेट करना है.

  • GitHub पर Android सैंपल पेज में, लीडरबोर्ड के कोड सैंपल डाउनलोड करें और उनकी समीक्षा करें.

  • क्वालिटी की चेकलिस्ट में दिए गए सुझावों के बारे में जानें.

लीडरबोर्ड क्लाइंट पाना

लीडरबोर्ड एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को पहले एक LeaderboardsClient ऑब्जेक्ट पाना होगा. ऐसा करने के लिए, PlayGames.getLeadeboardsClient() विधि को कॉल करके गतिविधि को पास करें.

खिलाड़ी का स्कोर अपडेट करना

जब प्लेयर का स्कोर बदलता है (उदाहरण के लिए, जब प्लेयर गेम पूरा कर लेता है), तो आपका गेम लीडरबोर्ड पर उसका स्कोर अपडेट कर सकता है. इसके लिए, उसे 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 का इस्तेमाल करना होगा, ताकि एपीआई कॉल करने वाले पैकेज की पहचान कर सके. डिफ़ॉल्ट लीडरबोर्ड यूज़र इंटरफ़ेस (यूआई) का उदाहरण नीचे दिया गया है.