পিসিতে গুগল প্লে গেমসের জন্য খেলোয়াড়দের সেরা অভিজ্ঞতা দিতে, আপনার গেমের পিসি এবং মোবাইল (অ্যান্ড্রয়েড) সংস্করণকে অবশ্যই গুগল প্লে গেমস সার্ভিসেস ভি২ এসডিকে (Google Play Games Services v2 SDK) ব্যবহার করে একটি নির্বিঘ্ন ক্রস-ডিভাইস অভিজ্ঞতা প্রদান করতে হবে, তবেই এটিকে পিসিতে গুগল প্লে গেমসের জন্য অপ্টিমাইজড বলে গণ্য করা হবে।
প্রয়োজনীয় শর্তাবলীর সারসংক্ষেপ নিচে দেওয়া হলো:
- মোবাইল (অ্যান্ড্রয়েড) এবং পিসিতে গুগল প্লে গেমস ব্যবহারকারীরা, সম্ভব হলে, আপনার গেমের মধ্যেই স্বয়ংক্রিয়ভাবে গুগল প্লে গেমস সার্ভিসে সাইন ইন হয়ে যান এবং তাদের টিউটোরিয়াল-বহির্ভূত অগ্রগতি তাদের গুগল প্লে গেমস সার্ভিস প্লেয়ার আইডির সাথে সংযুক্ত থাকে। অন্যান্য ডিভাইসে, স্থানীয় অবস্থার সাথে কোনো দ্বন্দ্ব না থাকলে গেমটি স্বয়ংক্রিয়ভাবে এই অগ্রগতি পুনরুদ্ধার করে।
- ব্যবহারকারীরা হয়তো গুগল প্লে গেমস সার্ভিসেস (Google Play Games Services) ব্যবহার করে আপনার গেমে স্বয়ংক্রিয়ভাবে সাইন ইন করতে পারেন, কিন্তু আপনার বিদ্যমান পরিচয় ব্যবস্থা (যেমন, গেস্ট অ্যাকাউন্ট) ব্যবহার করে সাইন ইন নাও করতে পারেন। এই ক্ষেত্রে, যেহেতু ব্যবহারকারী গুগল প্লে গেমস সার্ভিসেস দিয়ে সাইন ইন করেছেন এবং তার অগ্রগতি সংরক্ষিত হচ্ছে বলে আশা করেন, তাই আপনাকে অবশ্যই ব্যবহারকারীর অগ্রগতি ব্যাক আপ এবং রিস্টোর করতে হবে। এর একমাত্র ব্যতিক্রম হলো যখন ব্যবহারকারী স্পষ্টভাবে বোঝেন যে গেস্ট মোডটি একটিমাত্র ডিভাইসের জন্য সীমাবদ্ধ।
- এই শর্তটি পূরণের জন্য গুগল প্লে গেমস সার্ভিসেস ভি২ সাইন-ইন ব্যবহার করতে হবে। আপনি যদি ভি১ সাইন-ইন ব্যবহার করেন, তবে জাভা এবং ইউনিটি ইন্টিগ্রেশন মাইগ্রেট করার জন্য আমাদের নির্দেশিকা রয়েছে।
- আপনার গেমে যদি অন্য কোনো পরিচয় শনাক্তকরণ সমাধান থাকে, তাহলে Google Play Games Services Player ID-টিকে সেই সমাধানগুলোর সাথে লিঙ্ক করুন, যাতে নতুন ডিভাইস ব্যবহার করার সময় প্লেয়ারদের ম্যানুয়ালি তাদের ক্রেডেনশিয়াল পুনরুদ্ধার করতে না হয়।
- অগ্রগতি নিয়ে যখন কোনো দ্বন্দ্ব দেখা দেয় (যেমন একজন খেলোয়াড় গুগল প্লে গেমস সার্ভিসেস এবং অন্য কোনো পরিচয় প্ল্যাটফর্ম দিয়ে সাইন ইন করেন), তখন আপনার উচিত এমনভাবে এর সমাধান করা যা আপনার খেলোয়াড়রা প্রত্যাশা করতে পারে এবং বুঝতে পারে। এর জন্য আপনি খেলোয়াড়কে জিজ্ঞাসা করতে পারেন যে তিনি কোন অ্যাকাউন্ট দিয়ে খেলতে চান, স্থানীয় অগ্রগতিকে অগ্রাধিকার দিতে পারেন, অথবা অগ্রগতি একত্রিত করে দিতে পারেন।
আমরা স্বীকার করি যে আপনার বিদ্যমান পরিচয় সমাধানগুলির নিজস্ব জটিলতা রয়েছে, এবং পরিচয়ের সংঘর্ষ ও সমাধান থেকে উদ্ভূত বিশেষ পরিস্থিতিগুলির ক্ষেত্রে আমরা নমনীয়। পরিশেষে, শর্তটি হলো যে অ্যান্ড্রয়েড (ফোন এবং ট্যাবলেট সহ) এবং পিসিতে গুগল প্লে গেমসের মধ্যে পরিবর্তন করার সময় খেলোয়াড়দের অগ্রগতি বা অবস্থা স্বয়ংক্রিয়ভাবে পুনরুদ্ধার হবে।
আপনার বিদ্যমান আইডেন্টিটি সিস্টেমের সাথে গুগল প্লে গেমস সার্ভিসেস কীভাবে ইন্টিগ্রেট করবেন, সে বিষয়ে এই সুপারিশগুলো দেখুন। আপনার গেমের প্রয়োজন অনুযায়ী আপনি দুটি প্রধান ইন্টিগ্রেশন পদ্ধতির মধ্যে থেকে একটি বেছে নিতে পারেন।
- সংযুক্ত সমাধান: গুগল প্লে গেমস সার্ভিসেস এবং আপনার বিদ্যমান পরিচয় ব্যবস্থার মধ্যে একটি সরাসরি সংযোগ তৈরি করুন।
- রিকল সমাধান: অবস্থা পুনরুদ্ধার করতে একটি গুগল প্লে গেমস সার্ভিসেস অ্যাকাউন্টকে একাধিক ব্যবহারকারী-সংশ্লিষ্ট অ্যাকাউন্টের সাথে যুক্ত করুন।
বিভিন্ন ডিভাইসে প্লেয়ারের অগ্রগতি ব্যবস্থাপনার ক্ষেত্রে প্রতিটি পদ্ধতিরই ভিন্ন ভিন্ন সুবিধা রয়েছে।
আপনি প্রয়োজনীয়তার সাথে আপনার নিজের সমাধানটি মূল্যায়ন করতে টেস্ট কেসগুলো ব্যবহার করতে পারেন।
পিসিতে গুগল প্লে গেমস-এ গুগল প্লে গেমস সার্ভিসেস-এ সাইন-ইন করার ক্ষেত্রে আমাদের জন্য প্রয়োজনীয় ও উৎসাহিত আচরণবিধির একটি চেকলিস্ট এখানে দেওয়া হলো।
| আইডি | গুরুত্ব | বর্ণনা |
|---|---|---|
| ১.১ | অপ্টিমাইজড বিল্ডের জন্য প্রয়োজন | অ্যান্ড্রয়েড ডিভাইসে গুগল প্লে গেমস সার্ভিসেস ভি২ (Google Play Games Services v2) এবং পিসিতে গুগল প্লে গেমস (Google Play Games) ব্যবহার করে খেলোয়াড়রা সাইন ইন করেন। আপনার অ্যান্ড্রয়েড এবং পিসির জন্য গুগল প্লে গেমস বিল্ডের সাথে নতুন গুগল প্লে গেমস সার্ভিসেস ভি২ এসডিকে (SDK) সংযুক্ত করুন এবং আপনার গেমের মধ্যে সাইন-ইন কার্যকারিতা সক্রিয় করুন। ১.২ নম্বর শর্তটি পূরণ করতে সাইন-ইন করা খেলোয়াড়দের ক্রেডেনশিয়াল ব্যবহার করুন। মনে রাখবেন যে v1 সাইন-ইন এই শর্ত পূরণ করে না। আপনি যদি আপনার গেমে Google Play Games Services v1 ব্যবহার করেন, তাহলে আপনাকে v2- তে আপগ্রেড করতে হবে। আপনার গেম মাইগ্রেট করার বিষয়ে আরও তথ্যের জন্য, Java এবং Unity গাইডগুলো দেখুন। |
| ১.২ | অপ্টিমাইজড বিল্ডের জন্য প্রয়োজন | প্লে গেমস সার্ভিসেস প্লেয়ার আইডি ব্যবহার করে প্লেয়ারের অগ্রগতি ব্যাক আপ ও পুনরুদ্ধার করুন। যখন খেলোয়াড় বোঝেন যে তার অগ্রগতি স্থানীয় ডিভাইসের সাথে সংযুক্ত এবং অন্য ডিভাইসে গেলে তা হারিয়ে যাবে, অথবা অগ্রগতিটি শুধুমাত্র টিউটোরিয়ালের মধ্যেই সীমাবদ্ধ, তখন এর প্রয়োজন হয় না। ডিভাইস পরিবর্তন বা রিসেট করার সময়, অথবা একাধিক ডিভাইসে খেলার সময় প্লেয়াররা যাতে তাদের অগ্রগতি না হারায়, তা নিশ্চিত করতে তাদের অগ্রগতি একটি ক্লাউড সেভ সলিউশনে ব্যাক আপ করা আছে কিনা তা নিশ্চিত করুন এবং প্লে গেমস সার্ভিসেস প্লেয়ার আইডি-কে একটি কী (key) হিসেবে ব্যবহার করুন; আপনার নিজস্ব ব্যাকএন্ড গেম সার্ভার ব্যবহার করলে এটি নিরাপদে করুন । প্লেয়াররা যখন প্লে গেমস সার্ভিসেস দিয়ে সাইন ইন করে, তখন সেই অ্যাকাউন্টের জন্য কোনো অগ্রগতি আছে কিনা তা পরীক্ষা করুন এবং যদি থাকে, তবে প্লেয়ারকে সে যেখান থেকে খেলা ছেড়েছিল সেখান থেকে আবার শুরু করার অনুমতি দিন। আপনি আপনার নিজস্ব ক্লাউড সেভ সলিউশন অথবা প্লে গেমস সার্ভিসেস সেভড গেমস ব্যবহার করতে পারেন। যদি প্লেয়ার প্লে গেমস সার্ভিসেস-এ সাইন ইন করা না থাকে, তবে প্লেয়ারের অগ্রগতি স্থানীয়ভাবে বজায় রাখার চেষ্টা করুন এবং প্লেয়ার যখন অবশেষে প্লে গেমস সার্ভিসেস-এ সাইন ইন করবে, তখন সেই অগ্রগতি সিঙ্ক করুন। প্লেয়ার যদি আপনার গেমে সাইন ইন করতে দেরি করে, তবে এটি তার কোনো অগ্রগতি হারিয়ে যাওয়া রোধ করতে সাহায্য করে। |
| ১.৩ | সর্বোত্তম অনুশীলন | সাইন-আউট করা খেলোয়াড়দের জন্য একটি সাইন-ইন বাটন প্রদান করুন। খেলোয়াড়রা প্লে গেমস সার্ভিসেস ব্যবহার না করার সিদ্ধান্ত নিতে পারেন এবং এর ফলে আপনার গেমে স্বয়ংক্রিয়ভাবে সাইন ইন নাও করতে পারেন। সাইন-আউট করা খেলোয়াড়দের জন্য একটি সাইন-ইন বাটন যোগ করার মাধ্যমে, আপনি তাদের সিদ্ধান্ত পরিবর্তন করার এবং আপনার গেমে আরও বেশি আগ্রহী হয়ে উঠলে প্লে গেমস সার্ভিসেস-এ সাইন ইন করার সুযোগ দেন। সাইন-ইন বাটনটি খেলোয়াড়দের খুঁজে পাওয়ার মতো হওয়া উচিত; উদাহরণস্বরূপ, এটি আপনার মূল স্ক্রিন থেকে অ্যাক্সেসযোগ্য হওয়া উচিত অথবা সেটিংস স্ক্রিনে অবস্থিত থাকা উচিত। এই বাটনটি আপনার গেম মেনুর অনেক গভীরে লুকানো থাকা উচিত নয়। |
| ১.৪ | থাকলে ভালো | গুগলের ব্র্যান্ডিং নির্দেশিকা অনুসরণ করুন। খেলোয়াড়দের একটি আকর্ষণীয় ও সামঞ্জস্যপূর্ণ সামগ্রিক অভিজ্ঞতা প্রদানের জন্য, প্লে গেমস সার্ভিসেস-এর ব্র্যান্ডিং নির্দেশিকাগুলো বাস্তবায়ন করুন। |