অ্যান্ড্রয়েড গেমের লিডারবোর্ড

ভিজ্যুয়াল লিডারবোর্ড তৈরি করতে, প্লেয়ারের স্কোর রেকর্ড করতে এবং আগের গেম সেশন থেকে প্লেয়ারের স্কোরের সাথে স্কোর তুলনা করতে এই গাইডটি আপনাকে দেখায় কিভাবে একটি Android অ্যাপে লিডারবোর্ড API ব্যবহার করতে হয়। API গুলি com.google.android.gms.games এবং com.google.android.gms.games.leaderboards প্যাকেজে পাওয়া যাবে৷

আপনি শুরু করার আগে

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

লিডারবোর্ড এপিআই ব্যবহার করে কোড করা শুরু করার আগে:

  • সেট আপ Google Play Services SDK গাইডে Google Play গেম পরিষেবাগুলি ব্যবহার করতে আপনার অ্যাপ ইনস্টল এবং সেট আপ করার নির্দেশাবলী অনুসরণ করুন৷

  • Google Play Console গাইডের নির্দেশাবলী অনুসরণ করে আপনি আপনার গেমটি প্রদর্শন বা আপডেট করতে চান এমন লিডারবোর্ডগুলিকে সংজ্ঞায়িত করুন।

  • GiHub-এ Android নমুনা পৃষ্ঠায় লিডারবোর্ড কোড নমুনা ডাউনলোড করুন এবং পর্যালোচনা করুন।

  • কোয়ালিটি চেকলিস্টে বর্ণিত সুপারিশগুলির সাথে নিজেকে পরিচিত করুন৷

লিডারবোর্ড ক্লায়েন্ট পান

লিডারবোর্ড এপিআই ব্যবহার শুরু করতে, আপনার গেমটিকে প্রথমে একটি LeaderboardsClient অবজেক্ট পেতে হবে। আপনি Games.getLeadeboardsClient() পদ্ধতিতে কল করে এবং কার্যকলাপে পাস করে এটি করতে পারেন।

খেলোয়াড়ের স্কোর আপডেট করুন

যখন প্লেয়ারের স্কোর পরিবর্তিত হয় (উদাহরণস্বরূপ, খেলোয়াড় যখন গেমটি শেষ করে), তখন আপনার গেমটি লিডারবোর্ডে তাদের স্কোর আপডেট করতে পারে LeaderboardsClient.submitScore() এ কল করে এবং লিডারবোর্ড আইডি এবং কাঁচা স্কোর মান পাস করে।

নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে আপনার অ্যাপ প্লেয়ারের স্কোর আপডেট করতে পারে:

PlayGames.getLeaderboardsClient(this)
    .submitScore(getString(R.string.leaderboard_id), 1337);

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

একটি লিডারবোর্ড প্রদর্শন করুন

লিডারবোর্ড প্রদর্শন করতে, ডিফল্ট লিডারবোর্ড ব্যবহারকারী ইন্টারফেস তৈরি করার জন্য একটি Intent পেতে LeaderboardsClient.getLeaderboardIntent() এ কল করুন। আপনার গেম তারপর startActivityForResult কল করে UI আনতে পারে।

নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে আপনার অ্যাপ প্লেয়ারের স্কোর আপডেট করতে পারে। কোড স্নিপেটে, RC_LEADERBOARD_UI হল অনুরোধ কোডের জন্য একটি নির্বিচারে পূর্ণসংখ্যা।

private static final int RC_LEADERBOARD_UI = 9004;

private void showLeaderboard() {
  PlayGames.getLeaderboardsClient(this)
      .getLeaderboardIntent(getString(R.string.leaderboard_id))
      .addOnSuccessListener(new OnSuccessListener<Intent>() {
        @Override
        public void onSuccess(Intent intent) {
          startActivityForResult(intent, RC_LEADERBOARD_UI);
        }
      });
}

যদিও কোন ফলাফল ফেরত না আসে, আপনাকে startActivityForResult ব্যবহার করতে হবে যাতে API কলিং প্যাকেজের পরিচয় পেতে পারে। ডিফল্ট লিডারবোর্ড UI এর একটি উদাহরণ নীচে দেখানো হয়েছে।