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

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

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

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

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

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

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

लीडरबोर्ड एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को पहले एक LeaderboardsClient ऑब्जेक्ट मिलना चाहिए. ऐसा करने के लिए, Games.getLeadeboardsClient() पर कॉल करें और गतिविधि और वर्तमान खिलाड़ी की GoogleSignInAccount. को वापस पाने का तरीका जानने के लिए खिलाड़ी के खाते की जानकारी, Android गेम में साइन-इन करना देखें.

खिलाड़ी का स्कोर अपडेट किया जा रहा है

जब खिलाड़ी का स्कोर बदलता है (उदाहरण के लिए, जब खिलाड़ी गेम खत्म करता है), तो आपके गेम LeaderboardsClient.submitScore() पर कॉल करके, लीडरबोर्ड पर अपना स्कोर अपडेट कर सकता है, और लीडरबोर्ड आईडी और रॉ स्कोर की वैल्यू में पास होना.

नीचे दिया गया कोड स्निपेट दिखाता है कि आपका ऐप्लिकेशन, खिलाड़ी के स्कोर को कैसे अपडेट कर सकता है:

Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(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() {
  Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this))
      .getLeaderboardIntent(getString(R.string.leaderboard_id))
      .addOnSuccessListener(new OnSuccessListener<Intent>() {
        @Override
        public void onSuccess(Intent intent) {
          startActivityForResult(intent, RC_LEADERBOARD_UI);
        }
      });
}

ध्यान दें कि भले ही कोई परिणाम नहीं मिलता, लेकिन हमें startActivityForResult ताकि एपीआई, कॉलिंग पैकेज की पहचान कर सके. डिफ़ॉल्ट लीडरबोर्ड का यूज़र इंटरफ़ेस (यूआई) नीचे दिखाया गया है.