Google साइन-इन एपीआई के बंद होने के बाद, हम 2026 में Games v1 SDK टूल को हटा रहे हैं. फ़रवरी 2025 के बाद, Google Play पर ऐसे टाइटल पब्लिश नहीं किए जा सकेंगे जिन्हें हाल ही में games v1 SDK टूल के साथ इंटिग्रेट किया गया है. हमारा सुझाव है कि आप इसके बजाय,
games v2 SDK टूल का इस्तेमाल करें.
पिछले गेम के v1 इंटिग्रेशन वाले मौजूदा टाइटल कुछ साल तक काम करते रहेंगे. हालांकि, हमारा सुझाव है कि आप जून 2025 से v2 पर माइग्रेट करें.
यह गाइड, Play Games Services v1 SDK टूल का इस्तेमाल करने के लिए है. SDK टूल के नए वर्शन के बारे में जानकारी पाने के लिए, v2 दस्तावेज़ देखें.
इस गाइड में, Android ऐप्लिकेशन में उपलब्धि एपीआई का इस्तेमाल करने का तरीका बताया गया है. इससे, अपने गेम में उपलब्धियां अनलॉक करने और उन्हें दिखाने में मदद मिलती है. एपीआई, com.google.android.gms.games
और com.google.android.gms.games.achievements
पैकेज में मिल सकते हैं.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो गेम में उपलब्धियों के कॉन्सेप्ट की समीक्षा करना आपके लिए मददगार हो सकता है.
उपलब्धियां एपीआई का इस्तेमाल करके कोड लिखने से पहले:
- Google Play services SDK टूल सेट अप करें गाइड में दिए गए निर्देशों का पालन करके, अपने ऐप्लिकेशन को इंस्टॉल और सेट अप करें. इससे, आपको Google Play Games Services का इस्तेमाल करने में मदद मिलेगी.
- Google Play Console की गाइड में दिए गए निर्देशों का पालन करके, उन उपलब्धियों को तय करें जिन्हें आपको अपने गेम में अनलॉक या दिखाना है.
- Android के सैंपल पेज पर जाकर, उपलब्धियों के कोड सैंपल डाउनलोड करें और उनकी समीक्षा करें.
- क्वालिटी की चेकलिस्ट में दिए गए सुझावों के बारे में जानें.
उपलब्धियों का क्लाइंट पाना
उपलब्धियां एपीआई का इस्तेमाल शुरू करने के लिए, आपके गेम को सबसे पहले एक
AchievementsClient
ऑब्जेक्ट पाना होगा. ऐसा करने के लिए, Games.getAchievementClient()
तरीके को कॉल करें और मौजूदा प्लेयर के लिए गतिविधि और GoogleSignInAccount
को पास करें. खिलाड़ी के खाते की जानकारी वापस पाने का तरीका जानने के लिए, Android Games में साइन इन करना लेख पढ़ें.
उपलब्धियां अनलॉक करना
किसी उपलब्धि को अनलॉक करने के लिए, 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 Games Services उपलब्धि को अपने-आप अनलॉक कर देती है.
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); } }); }
उपलब्धियों के डिफ़ॉल्ट यूज़र इंटरफ़ेस (यूआई) का उदाहरण यहां दिया गया है.
