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

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

শুরু করার আগে

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

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

  • "সেট আপ গুগল প্লে সার্ভিসেস SDK" নির্দেশিকায় গুগল প্লে গেমস সার্ভিসেস ব্যবহার করার জন্য আপনার অ্যাপ ইনস্টল এবং সেট আপ করার নির্দেশাবলী অনুসরণ করুন।

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

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

  • "গুণমান চেকলিস্ট" -এ বর্ণিত সুপারিশগুলির সাথে নিজেকে পরিচিত করুন।

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

লিডারবোর্ড API ব্যবহার শুরু করতে, আপনার গেমটিকে প্রথমে একটি LeaderboardsClient অবজেক্ট পেতে হবে। আপনি PlayGames.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 এর একটি উদাহরণ নীচে দেখানো হয়েছে।