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

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

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

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

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

  • Google Play सेवाएं SDK टूल सेट अप करें गाइड में Google Play की गेम सेवाओं का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को इंस्टॉल और सेट अप करने के निर्देशों का पालन करें.
  • Google Play Console गाइड में दिए गए निर्देशों का पालन करके, उन लीडरबोर्ड के बारे में बताएं जिन्हें आप अपने गेम में दिखाना या अपडेट करना चाहते हैं.
  • Android सैंपल पेज पर लीडरबोर्ड कोड के सैंपल डाउनलोड करें और उन्हें देखें.
  • क्वालिटी चेकलिस्ट में बताए गए सुझावों के बारे में जानें.

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

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