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

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

তুমি শুরু করার আগে

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

আপনি অর্জন API ব্যবহার করে কোড শুরু করার আগে:

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

অ্যাচিভমেন্টস এপিআই ব্যবহার করা শুরু করতে, আপনার গেমটিকে প্রথমে একটি 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 ফাইলে কৃতিত্বের আইডিগুলি সংজ্ঞায়িত করা, যাতে আপনার গেমটি রিসোর্স আইডি দ্বারা অর্জনগুলি উল্লেখ করতে পারে৷ কৃতিত্বগুলি আপডেট এবং লোড করার জন্য কল করার সময়, আপনার API কোটা অতিক্রম করা এড়াতে এই সর্বোত্তম অনুশীলনগুলি অনুসরণ করতে ভুলবেন না।

কৃতিত্ব প্রদর্শন করা হচ্ছে

একজন খেলোয়াড়ের কৃতিত্ব দেখানোর জন্য, ডিফল্ট অর্জন ব্যবহারকারী ইন্টারফেস তৈরি করার জন্য একটি Intent পেতে AchievementsClient.getAchievementsIntent() এ কল করুন। আপনার গেম তারপর 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 এর একটি উদাহরণ নীচে দেখানো হয়েছে৷