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

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.leaderboards প্যাকেজগুলিতে পাওয়া যাবে।

শুরু করার আগে

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

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

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

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

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

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

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

Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(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() {
  Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(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 এর একটি উদাহরণ নীচে দেখানো হয়েছে।