यह गाइड आपको किसी Android ऐप्लिकेशन में उपलब्धियों के एपीआई इस्तेमाल करने का तरीका बताती है
का इस्तेमाल, आपके गेम में उपलब्धियां अनलॉक करने और दिखाने के लिए किया जाता है. एपीआई यहां मिल सकते हैं
com.google.android.gms.games
में
और com.google.android.gms.games.achievements
पैकेज.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो आपको अब इसकी समीक्षा करने में मदद मिल सकती है: उपलब्धियों के गेम के कॉन्सेप्ट के बारे में ज़्यादा जानें.
उपलब्धियां एपीआई का इस्तेमाल करके कोड करने से पहले:
- इस्तेमाल करने के लिए, ऐप्लिकेशन को इंस्टॉल और सेट अप करने के निर्देशों का पालन करें Google Play की गेम सेवाओं के विज्ञापन Google Play Services का SDK टूल सेट अप करने से जुड़ी गाइड.
- वे उपलब्धियां तय करें जिन्हें आप अपने गेम को अनलॉक करना या दिखाना चाहते हैं Google Play Console की गाइड में दिए गए निर्देशों का पालन करें.
- इसमें उपलब्धियों के कोड के सैंपल डाउनलोड करें और उनकी समीक्षा करें: Android सैंपल पेज.
- यहां दिए गए सुझावों के बारे में जानें क्वालिटी चेकलिस्ट.
उपलब्धियां पाने वाला क्लाइंट पाना
उपलब्धियां एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को पहले
AchievementsClient
ऑब्जेक्ट. ऐसा करने के लिए,
Games.getAchievementClient()
तरीका इस्तेमाल किया और पास किया जा रहा है
मौजूदा खिलाड़ी के लिए GoogleSignInAccount
. को वापस पाने का तरीका जानने के लिए
खिलाड़ी के खाते की जानकारी, Android गेम में साइन-इन करना देखें.
उपलब्धियां अनलॉक करना
किसी उपलब्धि को अनलॉक करने के लिए, AchievementsClient.unlock()
तरीके को कॉल करें और
उपलब्धि आईडी पास करें.
नीचे दिया गया कोड स्निपेट दिखाता है कि आपका ऐप्लिकेशन किस तरह उपलब्धियां अनलॉक कर सकता है:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
अगर उपलब्धि का टाइप इंक्रीमेंटल है (यानी, पाने के लिए कई चरणों को पूरा करना होगा)
इसे अनलॉक करें), इसके बजाय AchievementsClient.increment()
पर कॉल करें.
नीचे दिया गया कोड स्निपेट दिखाता है कि आपका ऐप्लिकेशन किस तरह खिलाड़ी की उपलब्धि को बढ़ाने में मदद कर सकता है:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(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() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
यहां डिफ़ॉल्ट उपलब्धियों के यूज़र इंटरफ़ेस (यूआई) का उदाहरण दिखाया गया है.
![](https://developers.google.cn/static/games/services/android/images/Achievements_Android.png?authuser=19&hl=hi)