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

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

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

अगर आपने पहले से ऐसा नहीं किया है, तो उपलब्धियों से जुड़े गेम के सिद्धांतों को पढ़ने में आपको मदद मिल सकती है.

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

  • Google Play सेवाएं 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 की गेम सेवाएं, उपलब्धि की ज़रूरी संख्या तक पहुंचने पर, अपने-आप उपलब्धि को अनलॉक कर देती हैं.

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);
        }
      });
}

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