অ্যান্ড্রয়েড গেমের অর্জন

Google সাইন-ইন API বন্ধ করার পর, আমরা ২০২৬ সালে গেমস v1 SDK সরিয়ে ফেলছি। ২০২৫ সালের ফেব্রুয়ারির পর, আপনি Google Play তে গেমস v1 SDK-এর সাথে নতুনভাবে সংহত করা শিরোনাম প্রকাশ করতে পারবেন না। আমরা আপনাকে এর পরিবর্তে গেমস v2 SDK ব্যবহার করার পরামর্শ দিচ্ছি।
পূর্ববর্তী গেম v1 ইন্টিগ্রেশন সহ বিদ্যমান শিরোনামগুলি কয়েক বছর ধরে কাজ করলেও, আপনাকে জুন 2025 থেকে v2 তে স্থানান্তরিত হতে উৎসাহিত করা হচ্ছে।
এই নির্দেশিকাটি Play Games Services v1 SDK ব্যবহারের জন্য। সর্বশেষ SDK সংস্করণ সম্পর্কে তথ্যের জন্য, v2 ডকুমেন্টেশন দেখুন।

এই নির্দেশিকাটি আপনাকে দেখায় কিভাবে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনে কৃতিত্ব API গুলি ব্যবহার করে আপনার গেমের কৃতিত্বগুলি আনলক এবং প্রদর্শন করতে হয়। API গুলি com.google.android.gms.games এবং com.google.android.gms.games.achievements প্যাকেজগুলিতে পাওয়া যাবে।

শুরু করার আগে

যদি আপনি ইতিমধ্যেই তা না করে থাকেন, তাহলে কৃতিত্বের খেলা ধারণাগুলি পর্যালোচনা করা আপনার জন্য সহায়ক হতে পারে।

কৃতিত্ব API ব্যবহার করে কোডিং শুরু করার আগে:

একটি অর্জন ক্লায়েন্ট পান

achievements API ব্যবহার শুরু করতে, আপনার গেমটিকে প্রথমে একটি 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);

কৃতিত্বটি আনলক করার জন্য আপনাকে অতিরিক্ত কোড লিখতে হবে না; প্রয়োজনীয় সংখ্যক ধাপে পৌঁছানোর পরে গুগল প্লে গেমস সার্ভিসেস স্বয়ংক্রিয়ভাবে কৃতিত্বটি আনলক করে।

strings.xml ফাইলে কৃতিত্বের আইডিগুলি সংজ্ঞায়িত করা একটি ভালো অভ্যাস, যাতে আপনার গেমটি রিসোর্স আইডি দ্বারা কৃতিত্বগুলি উল্লেখ করতে পারে। কৃতিত্বগুলি আপডেট এবং লোড করার জন্য কল করার সময়, আপনার API কোটা অতিক্রম না করার জন্য এই সেরা অনুশীলনগুলি অনুসরণ করতে ভুলবেন না।

কৃতিত্ব প্রদর্শন করুন

একজন খেলোয়াড়ের কৃতিত্ব দেখানোর জন্য, AchievementsClient.getAchievementsIntent() এ কল করুন এবং ডিফল্ট কৃতিত্বের ইউজার ইন্টারফেস তৈরি করার জন্য একটি Intent পান। এরপর আপনার গেম startActivityForResult এ কল করে UI দেখাতে পারে।

নিম্নলিখিত কোড স্নিপেটটি দেখায় যে আপনার অ্যাপটি কীভাবে ডিফল্ট অর্জন ব্যবহারকারী ইন্টারফেস প্রদর্শন করতে পারে। স্নিপেটে, 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);
        }
      });
}

ডিফল্ট অর্জন UI এর একটি উদাহরণ নিচে দেখানো হল।