Android गेम की उपलब्धियां

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

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

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

Achievements API का इस्तेमाल करके कोडिंग शुरू करने से पहले:

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

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

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

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

उपलब्धियां क्लाइंट पाना

उपलब्धियां एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले AchievementsClient ऑब्जेक्ट पाना होगा. इसके लिए, Games.getAchievementClient() तरीके को कॉल करें और गतिविधि को पास करें.

उपलब्धियां अनलॉक करना

किसी उपलब्धि को अनलॉक करने के लिए, AchievementsClient.unlock() तरीके को कॉल करें और उपलब्धि का आईडी पास करें.

यहां दिए गए कोड स्निपेट में बताया गया है कि आपका ऐप्लिकेशन उपलब्धियां कैसे अनलॉक कर सकता है:

PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));

अगर उपलब्धि इंक्रीमेंटल टाइप की है (यानी, इसे अनलॉक करने के लिए कई चरणों को पूरा करना ज़रूरी है), तो AchievementsClient.increment() को कॉल करें.

नीचे दिए गए कोड स्निपेट में बताया गया है कि आपका ऐप्लिकेशन, खिलाड़ी की उपलब्धि को कैसे बढ़ा सकता है:

PlayGames.getAchievementsClient(this).increment(getString(R.string.my_achievement_id), 1);

उपलब्धि को अनलॉक करने के लिए, आपको अतिरिक्त कोड लिखने की ज़रूरत नहीं है. Google Play Games Services, उपलब्धि के लिए ज़रूरी चरणों की संख्या पूरी होने पर, उसे अपने-आप अनलॉक कर देती है.

सबसे सही तरीका यह है कि strings.xml फ़ाइल में उपलब्धि आईडी तय किए जाएं, ताकि आपका गेम संसाधन आईडी के हिसाब से उपलब्धियों को रेफ़रंस कर सके. उपलब्धियों को अपडेट और लोड करने के लिए कॉल करते समय, पक्का करें कि एपीआई के कोटे से ज़्यादा कॉल न किए जाएं. इसके लिए, इन सबसे सही तरीकों का पालन करें.

उपलब्धियां दिखाना

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

नीचे दिए गए कोड स्निपेट में बताया गया है कि आपका ऐप्लिकेशन, डिफ़ॉल्ट उपलब्धि वाला यूज़र इंटरफ़ेस कैसे दिखा सकता है. स्निपेट में, RC_ACHIEVEMENT_UI एक आर्बिट्ररी पूर्णांक है. इसका इस्तेमाल गेम, अनुरोध कोड के तौर पर करता है.

private static final int RC_ACHIEVEMENT_UI = 9003;

private void showAchievements() {
  PlayGames.getAchievementsClient(this)
      .getAchievementsIntent()
      .addOnSuccessListener(new OnSuccessListener<Intent>() {
        @Override
        public void onSuccess(Intent intent) {
          startActivityForResult(intent, RC_ACHIEVEMENT_UI);
        }
      });
}

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