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

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

শুরু করার আগে

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

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

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

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

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

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

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

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

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

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