Google Play গেম পরিষেবাগুলির জন্য গুণমানের চেকলিস্ট৷

Google সাইন-ইন API বন্ধ করার পর, আমরা ২০২৬ সালে গেমস v1 SDK সরিয়ে ফেলছি। ২০২৫ সালের ফেব্রুয়ারির পর, আপনি Google Play তে গেমস v1 SDK-এর সাথে নতুনভাবে সংহত করা শিরোনাম প্রকাশ করতে পারবেন না। আমরা আপনাকে এর পরিবর্তে গেমস v2 SDK ব্যবহার করার পরামর্শ দিচ্ছি।
পূর্ববর্তী গেম v1 ইন্টিগ্রেশন সহ বিদ্যমান শিরোনামগুলি কয়েক বছর ধরে কাজ করলেও, আপনাকে জুন 2025 থেকে v2 তে স্থানান্তরিত হতে উৎসাহিত করা হচ্ছে।
এই নির্দেশিকাটি Play Games Services v1 SDK ব্যবহারের জন্য। সর্বশেষ SDK সংস্করণ সম্পর্কে তথ্যের জন্য, v2 ডকুমেন্টেশন দেখুন।

আপনার গেমের মান আপনার গেমের দীর্ঘমেয়াদী সাফল্যকে প্রভাবিত করে -- ইনস্টল, খেলোয়াড়ের রেটিং এবং পর্যালোচনা, ব্যস্ততা এবং খেলোয়াড় ধরে রাখার ক্ষেত্রে। আপনার গেমটি প্রকাশ করার আগে, আকর্ষণীয় বৈশিষ্ট্য এবং একটি স্বজ্ঞাত, সু-নকশিত UI এর মাধ্যমে নিশ্চিত করা গুরুত্বপূর্ণ যে আপনার গেমটি গেম খেলোয়াড়দের মৌলিক প্রত্যাশা পূরণ করে।

এই ডকুমেন্টটি আপনাকে গুণমান, বৈশিষ্ট্য সেট এবং UI এর মূল দিকগুলিতে মনোনিবেশ করতে সাহায্য করে যা আপনার গেমের সাফল্যের উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে। প্রতিটি ফোকাস এরিয়ায় ন্যূনতম প্রয়োজনীয়তা, সেরা অনুশীলন এবং উন্নত বৈশিষ্ট্যগুলির একটি তালিকা উপস্থাপন করা হয়েছে। আপনার খেলোয়াড়দের সর্বোত্তম সম্ভাব্য পণ্য সরবরাহের স্বার্থে, চেকলিস্টের সুপারিশগুলি যতটা সম্ভব অনুসরণ করুন।

১. সাইন-ইন করুন

আপনার গেমে প্লেয়ার সাইন-ইন কার্যকারিতা বাস্তবায়নের ক্ষেত্রে নিম্নলিখিত চেকলিস্ট কাজগুলি প্রযোজ্য। সাইন-ইন কীভাবে কাজ করে এবং সাইন-ইন ধারণাগুলিতে আপনার এটি কীভাবে বাস্তবায়ন করা উচিত সে সম্পর্কে আরও জানুন। মোবাইল গেমগুলিতে সাইন-ইন কীভাবে বাস্তবায়ন করবেন তার কোড উদাহরণগুলির জন্য, Android-এ সাইন-ইন বাস্তবায়ন দেখুন।

আইডি গুরুত্ব বিবরণ
১.১ প্রয়োজনীয় গুগল প্লে গেমস সার্ভিসেস দিয়ে খেলোয়াড়দের সাইন ইন করুন।
১.১.১. আপনার গেমটি চালু হলে খেলোয়াড়দের স্বয়ংক্রিয়ভাবে সাইন ইন করুন; ব্যাকআপ হিসেবে ম্যানুয়াল সাইন-ইন ব্যবহার করুন

গেমগুলিতে নীরব সাইন-ইন চালু করা উচিত যাতে খেলোয়াড়রা দ্রুত প্রমাণীকরণ পেতে পারে এবং Google Play Games পরিষেবা দ্বারা প্রদত্ত সম্পূর্ণ বৈশিষ্ট্যগুলি ব্যবহার করার জন্য অনুমোদিত হতে পারে। যদি নীরব সাইন-ইন ব্যর্থ হয়, তাহলে আপনার অ্যাপ খেলোয়াড়দের ইন্টারেক্টিভভাবে সাইন ইন করতে অনুরোধ করবে। ইন্টারেক্টিভ সাইন-ইন ব্যবহার করে, খেলোয়াড়রা গেমটিতে সাইন ইন করতে বেছে নিতে পারে এবং Play Games নিশ্চিত করে যে তাদের প্রোফাইল আপনার গেমে ব্যবহারের জন্য সঠিকভাবে কনফিগার করা হয়েছে। নীরব এবং ইন্টারেক্টিভ সাইন-ইন একত্রিত করার ফলে সর্বোচ্চ সাইন-ইন হার এবং ব্যবহারকারীর ঘর্ষণ কম হয়।

যদি খেলোয়াড় সাইন ইন না করার সিদ্ধান্ত নেয়, তাহলে এটি মনে রাখবেন এবং খেলোয়াড়কে আবার অনুরোধ করবেন না। পরিবর্তে, একটি সাইন-ইন বোতাম দিন। সাইন-ইন বোতামটি খেলোয়াড়দের জন্য খুঁজে পাওয়া সহজ হওয়া উচিত; উদাহরণস্বরূপ, এটি আপনার প্রধান স্ক্রিন থেকে অ্যাক্সেসযোগ্য হওয়া উচিত অথবা সেটিংস স্ক্রিনে অবস্থিত হওয়া উচিত। এই বোতামটি আপনার গেম মেনুর একাধিক স্তরের গভীরে স্থাপন করা উচিত নয়। খেলোয়াড়রা যখনই আপনার গেম শুরু করবে তখন স্বয়ংক্রিয়ভাবে সাইন ইন করার চেষ্টা চালিয়ে যান - তারা তাদের পছন্দ পরিবর্তন করতে পারে এবং স্বয়ংক্রিয়ভাবে সাইন ইন করতে পারে।

১.২ প্রয়োজনীয় আপনার সাইন-ইন ক্লায়েন্ট তৈরি করার সময় নন-প্লে গেমস স্কোপ অনুরোধ করবেন না। এটি খেলোয়াড়দের আপনার গেমে স্বয়ংক্রিয়ভাবে সাইন ইন করার অনুমতি দেবে, কারণ নন-প্লে গেমস স্কোপ অনুরোধ করলে ব্যবহারকারীরা ইন্টারেক্টিভ সাইন-ইন ব্যবহার করতে বাধ্য হবে।

যদি আপনি ইতিমধ্যেই নন-প্লে গেমস স্কোপগুলির জন্য অনুরোধ করে থাকেন, তাহলে আপনার GoogleSignInOptions নির্মাণ থেকে সমস্ত অপ্রয়োজনীয় স্কোপগুলি এবং আপনি আর ব্যবহার করেন না এমন কোনও API সরিয়ে ফেলুন। যদি আপনার অন্যান্য স্কোপগুলির জন্য অনুরোধ করার প্রয়োজন হয় (উদাহরণস্বরূপ, যদি আপনি বিপণনের উদ্দেশ্যে কোনও ব্যবহারকারীর ইমেল দেখতে চান), তাহলে প্রাসঙ্গিক সময়ে তা করুন এবং সাইন-ইন প্রক্রিয়ার অংশ হিসাবে নয়।

// This is the proper way to do it
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
১.৩ প্রয়োজনীয় খেলোয়াড়দের সাইন-ইন থাকার অনুমতি দিন।

খেলোয়াড় আপনার গেমে সফলভাবে সাইন ইন করার পর, আপনার গেম শুরু হওয়ার সাথে সাথেই স্বয়ংক্রিয়ভাবে সেগুলি সংযুক্ত করুন, যতক্ষণ না খেলোয়াড় স্পষ্টভাবে সাইন আউট করে।

১.৪ প্রয়োজনীয় সাইন-ইন করার সময় 'সংযোগ' পপ-আপটি যথাযথভাবে প্রদর্শন করুন।

অ্যান্ড্রয়েড ডিভাইসে, সাইন-ইন ফ্লো চালু হলেই Google Play Games 'Connecting' পপ-আপটি অবশ্যই প্রদর্শিত হবে। এর জন্য আপনাকে GamesClient ক্লাসের setViewForPopups() পদ্ধতিটি কল করতে হবে। আপনার গেমের শুরুতে প্লেয়ারকে স্বয়ংক্রিয়ভাবে সাইন ইন করার সময় এই পপ-আপটি প্রদর্শিত হচ্ছে কিনা তা যাচাই করুন। এটি খেলোয়াড়দের জানতে দেয় যে তারা আপনার গেমে সঠিকভাবে সাইন ইন করছে।

নিচের উদাহরণটি দেখায় যে সাইন-ইন করার সময় একটি অ্যান্ড্রয়েড গেমে 'কানেক্টিং' পপ-আপ কীভাবে প্রদর্শিত হতে পারে এবং তারপরে Google Play Games Services লোগোর একটি সংক্ষিপ্ত অ্যানিমেশন দেখানো হতে পারে।

স্ক্রিনশট 'কানেক্টিং টু' পপ-আপ দেখায়।
১.৫ প্রয়োজনীয় খেলোয়াড়দের সাইন-আউটের বিকল্প প্রদান করুন।

সাইন ইন করার পর, খেলোয়াড়ের সর্বদা সাইন আউট করার বিকল্প থাকতে হবে।

আপনার অ্যাপের একটি প্রাসঙ্গিক গেম স্ক্রিনে (উদাহরণস্বরূপ, আপনার প্লেয়ার সেটিংস স্ক্রিনে) একটি সাইন-আউট বোতাম প্রদান করার কথা বিবেচনা করুন।

১.৬ সর্বোত্তম অনুশীলন খেলোয়াড়রা সাইন-ইন করতে অস্বীকৃতি জানালে মনে রাখবেন।

আপনার গেমটি যখন সাইন-ইন ফ্লো শুরু করে তখন যদি খেলোয়াড় সাইন-ইন করতে অস্বীকৃতি জানায় (উদাহরণস্বরূপ, যদি তারা সাইন-ইন UI-তে "বাতিল করুন" ক্লিক করে), তবুও আপনার খেলোয়াড়কে গেমপ্লে চালিয়ে যাওয়ার অনুমতি দেওয়া উচিত।

যখন খেলোয়াড় আপনার গেমটি আবার চালু করবে, তখন স্বয়ংক্রিয়ভাবে ইন্টারেক্টিভ সাইন-ইন প্রবাহ চালু করবেন না। এই খেলোয়াড়রা আপনার সেটিংস সিস্টেমে থাকা সাইন-ইন বোতামটি ব্যবহার করে পরে সাইন ইন করতে বেছে নিতে পারে। এটি খেলোয়াড়দের আপনার গেমটি শুরু করার সময় বারবার সাইন ইন করতে অস্বীকার করার হাত থেকে রক্ষা করে।

একটি ব্যতিক্রম হল যদি খেলোয়াড়রা এমন কোনও গেমপ্লে বৈশিষ্ট্য অ্যাক্সেস করার চেষ্টা করে যা সাইন-ইন করার উপর নির্ভরশীল (উদাহরণস্বরূপ, লিডারবোর্ডে স্কোর জমা দেওয়া)। এই ক্ষেত্রে, গেমপ্লে চালিয়ে যাওয়ার আগে তাদের সাইন ইন করতে বলুন।

১.৭ সর্বোত্তম অনুশীলন সাইন ইন করা খেলোয়াড়ের সংখ্যা সর্বাধিক করুন।

গুগল প্লে গেমস সার্ভিসে আরও বেশি খেলোয়াড় সাইন ইন করলে আপনার খেলোয়াড়রা সহযোগিতামূলক এবং প্রতিযোগিতামূলক গেমপ্লের সুযোগ বৃদ্ধি করে উপকৃত হবে। গুগল প্লে গেমস সার্ভিসে সাইন-ইন করা খেলোয়াড়ের সংখ্যা সর্বাধিক করার জন্য, উপরে বর্ণিত হিসাবে, আপনাকে খেলোয়াড়দের স্বয়ংক্রিয়ভাবে সাইন ইন করার জন্য অনুরোধ করা হচ্ছে।

অন্যথায়, খেলোয়াড়দের যত তাড়াতাড়ি সম্ভব এই পয়েন্টগুলির একটি থেকে সাইন-ইন প্রবাহে নির্দেশিত করুন (প্রথমে সর্বাধিক প্রস্তাবিত):

  • তোমার খেলা শুরু হওয়ার পরপরই।
  • একটি ভূমিকামূলক অভিজ্ঞতার পরপরই, যেমন একটি কাট-সিন বা টিউটোরিয়াল।
  • যখন খেলোয়াড় আপনার গেমের যেকোনো জায়গায় Google সাইন-ইন বোতামে ক্লিক করে।
১.৮ ভালো-পাওয়া গুগল ব্র্যান্ডিং নির্দেশিকা অনুসরণ করুন।

খেলোয়াড়দের আকর্ষণীয় এবং ধারাবাহিকভাবে একটি এন্ড-টু-এন্ড অভিজ্ঞতা প্রদানের জন্য, Google Play Games Services ব্র্যান্ডিং নির্দেশিকা বাস্তবায়ন করুন।

১.৯ ভালো-পাওয়া খেলোয়াড়দের মনে করিয়ে দিন যে তারা সাইন-ইন করেছেন।

যখন আপনার গেম সাইন-ইন করা খেলোয়াড়দের পক্ষ থেকে কোনও অ্যাকশন করে, তখন তাদের একটি উপযুক্ত রিমাইন্ডার বা ইঙ্গিত দিন। উদাহরণস্বরূপ, যখন একজন সাইন-ইন করা খেলোয়াড় একটি লেভেল শেষ করে, তখন আপনি এই ধরণের একটি বার্তা দিতে পারেন যা নির্দেশ করে যে খেলোয়াড়ের স্কোর এবং কৃতিত্বগুলি স্বয়ংক্রিয়ভাবে আপলোড হচ্ছে: "আপনি Google-এ সাইন-ইন করেছেন। আপনার কৃতিত্ব এবং স্কোরগুলি স্বয়ংক্রিয়ভাবে সংরক্ষণ করা হবে।"

১.১০ প্রয়োজনীয় প্লে গেমস সার্ভিসেস আইডি ব্যবহার করে খেলোয়াড়ের অগ্রগতির ব্যাক আপ নিন।

ডিভাইস পরিবর্তন বা রিসেট করার সময় খেলোয়াড়রা যাতে তাদের অগ্রগতি হারাতে না পারে, অথবা যদি তারা একাধিক ডিভাইসে খেলে, তাহলে নিশ্চিত করুন যে তাদের অগ্রগতি ক্লাউড সেভ সলিউশনে ব্যাকআপ করা আছে এবং আপনার নিজস্ব ব্যাকএন্ড গেম সার্ভার ব্যবহার করলে নিরাপদে প্লে গেমস সার্ভিসেস আইডি কী হিসেবে ব্যবহার করুন। খেলোয়াড়রা যখন তাদের প্লে গেমস সার্ভিসেস আইডি দিয়ে সাইন ইন করেন, তখন সেই অ্যাকাউন্টের অগ্রগতি আছে কিনা তা পরীক্ষা করুন এবং যদি থাকে, তাহলে খেলোয়াড়কে তারা যেখান থেকে ছেড়েছিল সেখান থেকে শুরু করতে দিন। আপনি আপনার নিজস্ব ক্লাউড সেভ সলিউশন বা প্লে গেমস সার্ভিসেস সেভড গেমস ব্যবহার করতে পারেন।

যদি ব্যবহারকারী সাইন ইন না করে থাকেন, তাহলে স্থানীয়ভাবে প্লেয়ারের অগ্রগতি বজায় রাখার চেষ্টা করুন, তারপর প্লেয়ার যখন সাইন ইন করেন তখন সেই অগ্রগতি সিঙ্ক করুন। এটি প্লেয়ার যদি আপনার গেমে সাইন ইন স্থগিত করে তবে প্লেয়ারের অগ্রগতি হারানো রোধ করতে সাহায্য করে।

2. অর্জন

আপনার গেমে অ্যাচিভমেন্টস বৈশিষ্ট্যটি বাস্তবায়নের জন্য নিম্নলিখিত চেকলিস্টের কাজগুলি প্রযোজ্য।

আইডি গুরুত্ব বিবরণ
২.১ প্রয়োজনীয় নিশ্চিত করুন যে সমস্ত অর্জন অর্জনযোগ্য।

খেলোয়াড়দের অবশ্যই আপনার তৈরি সমস্ত কৃতিত্ব আনলক করতে সক্ষম হতে হবে।

২.২ সর্বোত্তম অনুশীলন সাফল্যগুলিকে স্বতন্ত্র করে তুলুন।

সমস্ত ছবি, লেখা এবং বর্ণনা কৃতিত্বের ক্ষেত্রে অনন্য হওয়া উচিত।

২.৩ সর্বোত্তম অনুশীলন আনুপাতিকভাবে সাফল্য অর্জন করুন।

কৃতিত্ব অর্জনের জন্য প্রয়োজনীয় সময় বা দক্ষতার সমানুপাতিক হারে অর্জনের পয়েন্ট নির্ধারণ করা উচিত।

২.৪ সর্বোত্তম অনুশীলন বিভিন্ন ধরণের অসুবিধা স্তরের জন্য সাফল্য ডিজাইন করুন।

একজন খেলোয়াড় নৈমিত্তিক গেমপ্লের মাধ্যমে অর্জন করতে পারে এমন কিছু সহজ অর্জন, আরও দক্ষতা বা খেলোয়াড়ের নিষ্ঠার প্রয়োজন এমন বেশ কয়েকটি মধ্যবর্তী অসুবিধা অর্জন এবং সবচেয়ে নিবেদিতপ্রাণ খেলোয়াড়দের জন্য এক বা দুটি খুব কঠিন অর্জন অন্তর্ভুক্ত করুন।

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

৫ হাজার রত্ন অর্জনের জন্য অর্জন করা কঠিন অর্জন
২.৫ ভালো-পাওয়া সাফল্যগুলি সামনে রাখবেন না।

গেমপ্লের প্রথম ৫ মিনিটে একাধিক কৃতিত্ব প্রদান করা এড়িয়ে চলুন, কারণ আপনার গেমে নতুন খেলোয়াড়রা যথেষ্ট যত্নশীল হবে না।

তোমার অর্জনগুলোকে এমনভাবে সংজ্ঞায়িত করো না যে, খেলার শুরুতেই অনিচ্ছাকৃতভাবে সেগুলো পেয়ে যাওয়া হয়। উদাহরণস্বরূপ, খেলার শুরুতেই তুচ্ছ কিছু অর্জনের সম্ভাবনা থাকে, যেমন "ক্ষতি না করেই একটি স্তর সম্পূর্ণ করো"

২.৬ ভালো-পাওয়া আকর্ষণীয় ইন-গেম কার্যকলাপের চারপাশে কৃতিত্বের সংজ্ঞা দিন।

আপনার গেমটিকে আরও আকর্ষণীয় এবং পুনরায় খেলার যোগ্য করে তোলে এমন সাফল্য তৈরি করার জন্য মেট্রিক্স নির্বাচন করুন (উদাহরণস্বরূপ, " আপনার চরিত্র কত মাইল হেঁটেছে " তার চেয়ে "নিহত জম্বিদের সংখ্যা" বেশি আকর্ষণীয় মেট্রিক)।

২.৭ ভালো-পাওয়া রঙিন অর্জন আইকন ব্যবহার করুন।

গুগল প্লে গেমস সার্ভিসেস অর্জন আইকনগুলির গ্রেস্কেল সংস্করণ ব্যবহার করে তা দেখানোর জন্য যে সেগুলি অর্জিত নাকি অর্জিত। যদি আপনি কেবলমাত্র কালো (অথবা সম্পূর্ণ সাদা) অর্জন আইকন ব্যবহার করতে সীমাবদ্ধ থাকেন, তাহলে সেগুলিকে একটি রঙিন পটভূমিতে প্রদর্শন করুন।

২.৮ ভালো-পাওয়া লুকানো অর্জনের ব্যবহার কমিয়ে আনুন।

লুকানো অর্জনগুলি কেবল ইন-গেম স্পয়লার এড়াতে ব্যবহার করা উচিত; এগুলি আদর্শ হওয়া উচিত নয়।

২.৯ ভালো-পাওয়া সুযোগের উপর খুব বেশি নির্ভরশীল এমন অর্জন এড়িয়ে চলুন।

"১০০টি গুপ্তধনের বাক্স খুঁজে বের করুন" " এমন একটি জিনিস খুঁজে বের করুন যার গুপ্তধনের বাক্সে থাকার সম্ভাবনা ১%" তার চেয়ে ভালো অর্জন।

২.১০ ভালো-পাওয়া একজন 'অর্জন শিকারীর' মতো ভাবো।

কিছু খেলোয়াড় আপনার তৈরি প্রতিটি কৃতিত্ব অর্জন করার চেষ্টা করবে। এই শ্রেণীর খেলোয়াড়দের জন্য উপযুক্ত কৃতিত্ব প্রদান করার চেষ্টা করুন। এমন কৃতিত্ব তৈরি করা এড়িয়ে চলুন যা খেলোয়াড়ের নিয়ন্ত্রণের বাইরের উপাদানের উপর খুব বেশি নির্ভর করে বা খেলায় খেলোয়াড় সিদ্ধান্ত নেওয়ার পরে অর্জন করা যায় না।

২.১১ ভালো-পাওয়া আপনার কৃতিত্বের আইকনটি সঠিকভাবে প্রদর্শিত হচ্ছে কিনা তা নিশ্চিত করুন।

যখন একটি অ্যান্ড্রয়েড টোস্টে একটি অর্জন আইকন প্রদর্শিত হয়, তখন আইকনটি একটি বৃত্ত দিয়ে আচ্ছাদিত থাকে এবং এর বাইরের কোণগুলি লুকানো থাকে। নিশ্চিত করুন যে এই পরিস্থিতিতেও আপনার আইকনটি এখনও ভাল দেখাচ্ছে।

3. লিডারবোর্ড

আপনার গেমে লিডারবোর্ড বৈশিষ্ট্যটি বাস্তবায়নের জন্য নিম্নলিখিত চেকলিস্টের কাজগুলি প্রযোজ্য।

আইডি গুরুত্ব বিবরণ
৩.১ সর্বোত্তম অনুশীলন আপনার প্রধান মেনুতে এবং কী ট্রানজিশনের পরে লিডারবোর্ডগুলি দৃশ্যমান করুন।

গেম লোড করার সময় লিডারবোর্ডগুলি সহজেই অ্যাক্সেসযোগ্য হওয়া উচিত। গেমের গুরুত্বপূর্ণ পরিবর্তনের পরে (উদাহরণস্বরূপ, একটি স্তরের শেষে, অথবা যখন খেলোয়াড় মারা যায়), খেলোয়াড়দের তাৎক্ষণিকভাবে প্রাসঙ্গিক লিডারবোর্ডের লিঙ্কগুলি দেখতে পাওয়া উচিত।

৩.২ সর্বোত্তম অনুশীলন জমা দেওয়া যাবে এমন স্কোরের সর্বোচ্চ সীমা নির্ধারণ করুন।

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

৩.৩ সর্বোত্তম অনুশীলন কাস্টম আইকন ব্যবহার করুন।

আপনার সংজ্ঞায়িত প্রতিটি লিডারবোর্ডের জন্য একটি কাস্টম আইকন তৈরি করুন; কেবল আপনার গেমের আইকন ব্যবহার করবেন না, কারণ এটি Google Play Games অ্যাপে খারাপভাবে প্রদর্শিত হবে।

৩.৪ সর্বোত্তম অনুশীলন স্কোর জমা দেওয়ার ফ্রিকোয়েন্সি যথাযথ রাখুন।

গেমের গুরুত্বপূর্ণ ট্রানজিশনের পরে স্কোর জমা দিন, যেমন লেভেলের শেষে অথবা যখন কোনও খেলোয়াড়ের গেমের চরিত্র মারা যায়। গুরুত্বপূর্ণ ট্রানজিশন ছাড়া গেমগুলির জন্য (উদাহরণস্বরূপ, একটি "অন্তহীন রানার" ধরণের গেম), কত ঘন ঘন স্কোর জমা দিতে হবে সে সম্পর্কে ভাল সিদ্ধান্ত নিন। স্কোর ক্রমাগত বা প্রতি সেকেন্ডে জমা দেওয়া উচিত নয়।

৩.৫ ভালো-পাওয়া স্কোরট্যাগ ব্যবহার করুন।

স্কোরট্যাগ হল অতিরিক্ত ডেটা যা আপনার স্কোর জমা দেওয়ার সাথে পাঠানো যেতে পারে। উদাহরণস্বরূপ, আপনি একটি স্কোরট্যাগকে একটি পতাকা হিসাবে প্রয়োগ করতে পারেন যাতে নিশ্চিত করা যায় যে একজন খেলোয়াড়ের জমা দেওয়া স্কোর বৈধ।

কাস্টম লিডারবোর্ডগুলিও এই ট্যাগ ডেটা পড়তে পারে। উদাহরণস্বরূপ, যদি স্কোরট্যাগে সেই খেলোয়াড়ের গেমপ্লে সম্বলিত একটি YouTube ভিডিওর আইডি থাকে, তাহলে আপনার গেমটি আপনার লিডারবোর্ডের মধ্যে সেই ভিডিওটি দেখার জন্য একটি লিঙ্ক তৈরি করতে পারে।

৩.৬ ভালো-পাওয়া সৃজনশীলভাবে আপনার নিজস্ব লিডারবোর্ড UI ডিজাইন করুন

যদি আপনার কাছে প্রয়োজনীয় রিসোর্স থাকে, তাহলে সোশ্যাল লিডারবোর্ড ডেটার উপরে আপনার নিজস্ব কাস্টম লিডারবোর্ড ভিউ তৈরি করুন। সোশ্যাল লিডারবোর্ডগুলি সাধারণত পাবলিক লিডারবোর্ডের তুলনায় আরও আকর্ষণীয় অভিজ্ঞতা তৈরি করে। সোশ্যাল লিডারবোর্ডে কোনও এন্ট্রি আছে কিনা তা নির্ধারণ করতে প্রথমে পরীক্ষা করুন। যদি না থাকে, তাহলে পাবলিক লিডারবোর্ড ব্যবহার করুন।

৩.৭ ভালো-পাওয়া খেলোয়াড়দের দেখান যে তারা প্রতিযোগিতার বিরুদ্ধে কীভাবে দাঁড়ায়।

লিডারবোর্ড API স্কোর উইন্ডো দেখানো সমর্থন করে (উদাহরণস্বরূপ, +/-10 স্পটের মধ্যে একজন খেলোয়াড়ের র‍্যাঙ্ক)। যদি আপনি একটি কাস্টম ভিউ তৈরি করেন, তাহলে এটি অংশগ্রহণকে উৎসাহিত করার একটি শক্তিশালী উপায় হতে পারে। এটি গেমের একটি গুরুত্বপূর্ণ পরিবর্তনের ঠিক পরে দেখানো যেতে পারে (উদাহরণস্বরূপ, একটি স্তরের শেষে বা যখন একজন খেলোয়াড়ের গেম চরিত্র মারা যায়)। আপনার খেলোয়াড় এবং তাদের র‍্যাঙ্কিং তথ্যের মধ্যে অপ্রয়োজনীয় ক্লিক করা এড়িয়ে চলুন।

৪. বন্ধুরা

আপনার গেমে Friends API বাস্তবায়নের ক্ষেত্রে নিম্নলিখিত চেকলিস্ট কাজগুলি প্রযোজ্য।

আইডি গুরুত্ব বিবরণ
৪.১ প্রয়োজনীয় যখন খেলোয়াড়দের তালিকায় দেখানো হয়, তখন Play Games প্রোফাইল আছে এমন ব্যবহারকারীদের পাশে Play Games আইকনটি দেখান।

এই তালিকাটি একটি বিদ্যমান বন্ধু তালিকা, সম্প্রতি খেলা বন্ধু তালিকা, অথবা অন্যান্য বন্ধুদের তালিকা হতে পারে।

৪.১.১. প্লে গেমস আইকনটি অবশ্যই ক্লিকযোগ্য হতে হবে।
ব্যবহারকারী যদি আইকনটি চাপেন, তাহলে গেমটি getCompareProfileIntent() অথবা getCompareProfileIntentWithAlternativeNameHints() কল করবে যাতে UI দেখা যায় যেখানে ব্যবহারকারী অন্য খেলোয়াড়ের প্রোফাইলের সাথে নিজেদের তুলনা করতে পারে।
৪.১.২. খেলোয়াড়দের প্রোফাইল এবং বন্ধুদের আমন্ত্রণ জানানোর সুবিধা, গেমের মধ্যে খেলোয়াড়দের নাম কাস্টমাইজ করার জন্য।
যদি কোনও খেলোয়াড় গেমের মধ্যে একটি ভিন্ন নাম সেট করে (এবং তাদের Play Games প্রোফাইল নাম ব্যবহার না করে), তাহলে getCompareProfileIntentWithAlternativeNameHints() ব্যবহার করে বর্তমান খেলোয়াড় এবং তারা যে খেলোয়াড় দেখছে তাদের উভয়ের জন্যই বিকল্প ইন-গেম নাম প্রদান করুন, প্রোফাইল ভিউ এবং এটি থেকে পাঠানো যেকোনো বন্ধুত্বের আমন্ত্রণের প্রসঙ্গ হিসেবে। মানগুলির জন্য শুধুমাত্র স্থায়ী, বিশ্বব্যাপী খেলোয়াড়ের নামগুলি পাস করুন, ইচ্ছামত ব্যবহারকারীর সামগ্রী নয়। এই প্রয়োজনীয়তার অর্থ হল গেমের মধ্যে থেকে পাঠানো বন্ধুত্বের আমন্ত্রণ উভয় খেলোয়াড়কেই প্রসঙ্গ প্রদান করবে:
  • প্রাপক আমন্ত্রণ প্রেরকের গেমের নাম, খেলার নাম সহ দেখতে পাবেন।
  • বন্ধুত্ব দেখার সময়, প্রেরক এখনও প্রাপকের ইন-গেম নাম দেখতে পাবেন, সেইসাথে যে গেম থেকে তারা এটি শুরু করেছিলেন তাও দেখতে পাবেন।
৪.২ সর্বোত্তম অনুশীলন কোন প্লে গেম ব্যবহারকারীরা ইতিমধ্যেই বন্ধু এবং কোনটি এখনও প্লে গেমের বন্ধু নয় কিন্তু প্লে গেম দিয়ে সাইন ইন করেছেন তা দেখানোর জন্য বিভিন্ন আইকন ব্যবহার করুন। প্লে গেম ব্যবহারকারীদের জন্য দুটি আইকন ব্যবহার করুন, একটি "বন্ধু" এর জন্য এবং একটি "বন্ধু নয়" এর জন্য (অথবা যখন বন্ধুত্বের অবস্থা অজানা থাকে)।
বন্ধুদের আইকন
বন্ধু নয় আইকন
৪.৩ সর্বোত্তম অনুশীলন প্রতিবার সাইন-ইন করার সময় loadFriends() এ কল করুন এবং বন্ধুদের তালিকাটি আপ-টু-ডেট আছে কিনা তা নিশ্চিত করতে বন্ধুদের তালিকাটি প্রদর্শন করুন। খেলোয়াড়রা আপডেট করা তালিকাটি দেখতে পান তা নিশ্চিত করুন।
৪.৪ সর্বোত্তম অনুশীলন যদি আপনার গেমটিতে ইতিমধ্যেই ইন-গেম বন্ধু থাকে, তাহলে প্লে গেম বন্ধুদের যোগ করে বন্ধুদের তালিকা বাড়াতে Friends API ব্যবহার করুন। যদি কোনও খেলোয়াড় ইন-গেম বন্ধুদের তালিকায় থাকে এবং তারাও প্লে গেম বন্ধু হয়, তাহলে "Friends" আইকনটি দেখান।
৪.৫ সর্বোত্তম অনুশীলন যদি কোনও খেলোয়াড় তার বন্ধুদের তালিকা অ্যাক্সেস করার অনুরোধ প্রত্যাখ্যান করে, তাহলে ব্যবহারকারী যদি কোনও পদক্ষেপ না নেন যা ইঙ্গিত দেয় যে তারা অ্যাক্সেস দিতে চান (উদাহরণস্বরূপ, "প্লে গেমস ফ্রেন্ডস ইমপোর্ট করুন" বোতাম টিপুন) তাহলে অ্যাক্সেস চাওয়ার জন্য ডায়ালগটি আর দেখাবেন না।
৪.৬ সর্বোত্তম অনুশীলন যদি কোনও খেলোয়াড় বন্ধুদের তালিকায় প্রবেশাধিকার প্রত্যাখ্যান করে, তাহলে ভবিষ্যতে তাদের বন্ধুদের তালিকায় প্রবেশাধিকার দেওয়ার একটি উপায় দিন (উদাহরণস্বরূপ, "প্লে গেমস বন্ধুদের আমদানি করুন" বোতাম টিপে)।
৪.৭ সর্বোত্তম অনুশীলন যদি আপনি ব্যাকএন্ড সার্ভারের সাথে প্লেয়ার আইডি বা বন্ধু তালিকা ব্যবহার করেন, তাহলে আপনাকে অবশ্যই আইডি বা তালিকাটি নিরাপদে অ্যাক্সেস করতে হবে। এছাড়াও, কিছু পুরোনো গেম এবং খেলোয়াড়ের জন্য, কোনও খেলোয়াড়ের জন্য Android SDK দ্বারা প্রদত্ত প্লেয়ার আইডি একই আইডি নাও হতে পারে যা অন্যান্য খেলোয়াড়রা একই গেমে সেই খেলোয়াড়কে দেখার সময় দেখে; বন্ধু তালিকা ব্যবহার করার সময় এটি বিশেষভাবে প্রাসঙ্গিক। তবে, REST API-এর মধ্যে প্রদত্ত player_id সর্বদা সামঞ্জস্যপূর্ণ এবং সর্বদা সেই আইডি যা অন্যান্য খেলোয়াড়দের কাছে দৃশ্যমান হয়।

৫. কোটা এবং হার সীমাবদ্ধতা

আপনার গেমের কোটা এবং রেট লিমিটিং পরিচালনার ক্ষেত্রে নিম্নলিখিত চেকলিস্টের কাজগুলি প্রযোজ্য। আপনার গেমের কোটা কীভাবে পরিচালনা করবেন এবং কখন এর রেট লিমিট অতিক্রম করা হয়েছে তা সনাক্ত করতে শিখতে, কোটা এবং রেট লিমিটিং পরিচালনা দেখুন।

আইডি গুরুত্ব বিবরণ
৫.১ সর্বোত্তম অনুশীলন ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন।

মোবাইল ক্লায়েন্ট লাইব্রেরিগুলি পরিষেবাটিতে আপনার কল কমাতে বেশ কয়েকটি কৌশল ব্যবহার করে। উদাহরণস্বরূপ, কৃতিত্ব এবং লিডারবোর্ডের ডেটা ক্যাশে করা হয়, যাতে খেলোয়াড়রা পরিষেবাটিকে একাধিক কল করার প্রয়োজন ছাড়াই যতবার খুশি তাদের কৃতিত্ব দেখতে পারে।

যদি আপনার স্কোর সম্প্রতি জমা দেওয়া স্কোর থেকে ভালো না হয়, তাহলে অ্যান্ড্রয়েড ক্লায়েন্ট লাইব্রেরি কোনও প্লেয়ারের স্কোর সার্ভারে পাঠাবে না। অ্যান্ড্রয়েড লাইব্রেরি স্বয়ংক্রিয়ভাবে ঘন ঘন অ্যাচিভমেন্ট ইনক্রিমেন্ট কলগুলিকে একত্রিত করে যখন এটি সনাক্ত করে যে আপনার রেট সীমিত করা হচ্ছে।

৫.২ ভালো-পাওয়া ক্রমবর্ধমান সাফল্যের সাথে ঘন ঘন কলগুলিকে একত্রিত করুন।

যদি তুমি কোন ফাইটিং গেম খেলো এবং তোমার '৫০০০ ঘুষি মারো' কৃতিত্ব থাকে, তাহলে প্রতিবার কেউ ঘুষি মারলে কৃতিত্ব বৃদ্ধির কল পাঠাবে না। রাউন্ড শেষ না হওয়া পর্যন্ত অপেক্ষা করো, এবং তারপর একটি increment(xxx) কল পাঠাও (যেখানে xxx হল সেই রাউন্ডে মোট ঘুষির সংখ্যা), অথবা একটি একক increment(50) কল পাঠানোর আগে ৫০টি ঘুষি মারা পর্যন্ত অপেক্ষা করো।

৫.৩ ভালো-পাওয়া আপনার ব্যবহার সম্পর্কে সচেতন থাকুন।

গুগল প্লে গেমস সার্ভিসে আপনি কতগুলি কল করেন সে সম্পর্কে সচেতন থাকুন। এমনকি যদি আপনি রেট সীমা অতিক্রম না করেন, তবুও ঘন ঘন কল করলে নেটওয়ার্ক ট্র্যাফিক বেশি হতে পারে এবং ডিভাইসের ব্যাটারি দ্রুত শেষ হয়ে যেতে পারে। এটি এড়াতে, আপনি এই কৌশলগুলি ব্যবহার করতে পারেন:

  • সংরক্ষিত গেমগুলি সম্পাদন করার সময়, প্রতি বোতাম ক্লিকে নয়, প্রতি কয়েক মিনিটে একবার ফ্রিকোয়েন্সি রাখুন।
  • উচ্চ স্কোর জমা দেওয়ার আগে খেলোয়াড়ের খেলা শেষ না হওয়া পর্যন্ত অপেক্ষা করুন।
  • গুগল ক্লাউড প্ল্যাটফর্মে আপনার প্রোজেক্ট ড্যাশবোর্ডে গিয়ে আপনার অ্যাপের দৈনিক কোটা পর্যালোচনা করুন।

৬. সংরক্ষিত গেম

আপনার গেমে সংরক্ষিত গেম বৈশিষ্ট্যটি বাস্তবায়নের জন্য নিম্নলিখিত চেকলিস্টের কাজগুলি প্রযোজ্য।

আইডি গুরুত্ব বিবরণ
৬.১ প্রয়োজনীয় সংরক্ষিত গেমগুলির জন্য অতিরিক্ত প্রসঙ্গ প্রদান করতে মেটাডেটা যোগ করুন।

একটি সংরক্ষিত গেম তৈরি করার সময়, আপনাকে কমপক্ষে নিম্নলিখিত মেটাডেটা অন্তর্ভুক্ত করতে হবে:

  • কভার ছবি - একটি স্ক্রিনশট যা খেলার অগ্রগতি ক্যাপচার করে এবং খেলোয়াড়দের মনে করিয়ে দেয় যে তারা খেলাটি কোথায় রেখেছিল।
  • বর্ণনা - কভার ছবির জন্য অতিরিক্ত প্রসঙ্গ প্রদান করে এমন সংক্ষিপ্ত বিবরণ।
  • টাইম স্ট্যাম্প - খেলোয়াড় কতক্ষণ ধরে এই সংরক্ষিত গেমটি খেলছে তা নির্দেশ করে।
৬.২ প্রয়োজনীয় খেলোয়াড়দের সংরক্ষিত গেম লোড করার অনুমতি দিন।

খেলোয়াড়রা যখন Play Games অ্যাপ অথবা ডিফল্ট Saved Games নির্বাচন UI থেকে একটি নির্বাচন করে তখন সঠিক সংরক্ষিত গেমটি লোড করুন।