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

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

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

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

लीडरबोर्ड एपीआई का इस्तेमाल करके कोडिंग शुरू करने से पहले:

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

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

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