পিসি (PC)-তে Google Play Games-এর জন্য পিসি (PC) কম্প্যাটিবিলিটি ও অপ্টিমাইজেশন

পিসি (PC)-তে Google Play Games-এর জন্য আপনার গেমকে পিসি (PC)-র সাথে মানানসই করতে হবে এবং অপ্টিমাইজ করতে হবে। এইসব পরিবর্তন নিশ্চিত করে যে আপনার গেম পিসি (PC)-তে চলতে পারে এবং ব্যবহারকারীর অভিজ্ঞতা প্ল্যাটফর্মের জন্য অপ্টিমাইজ করা হয়েছে।

এছাড়াও, পিসি (PC)-তে Google Play Games-এর গ্রাফিক্স, ডিভাইস ইনপুট এবং ক্রস-ডিভাইস প্লে সংক্রান্ত প্রয়োজনীয়তা আছে। আরও তথ্যের জন্য, শুরু করার নির্দেশিকা দেখুন।

পিসি (PC)-র সাথে মানানসই এবং অপ্টিমাইজেশন সংক্রান্ত পরিবর্তন (x86-64 সাপোর্ট ছাড়া) করার সময়, আপনি পিসি (PC)-তে Google Play Games শনাক্ত করতে আপনার গেম সেট-আপ করতে এবং তারপর প্ল্যাটফর্ম-নির্দিষ্ট ফিচার বন্ধ বা চালু করতে পারবেন। এটি আপনাকে Android মোবাইল এবং পিসি (PC) রিলিজের জন্য একই APK বা অ্যাপ বান্ডেল ব্যবহার করতে দেয়।

এই পৃষ্ঠায় প্রয়োজনীয়তা ও সাজেশন সংক্রান্ত সারসংক্ষেপ দেওয়া হল:

x86-64 ABI আর্কিটেকচার অন্তর্ভুক্ত করুন

সম্ভব হলে, আপনার গেমে অন্তর্ভুক্ত সব লাইব্রেরি x86-64-এর জন্য তৈরি করা হয়েছে কিনা তা নিশ্চিত করুন। এটি আপনাকে কোনও ট্রান্সলেশন লেয়ার এড়িয়ে গিয়ে সেরা পারফর্ম্যান্স ও স্টেবিলিটি নিশ্চিত করতে সাহায্য করে।

লাইব্রেরি সংকলন

x86-64 প্রসেসরের সাথে সবচেয়ে ভাল কম্প্যাটিবিলিটি নিশ্চিত করতে, আপনার লাইব্রেরি কম্পাইল করার সময় অ্যাটম ইনস্ট্রাকশন সেট ব্যবহার করবেন না। যেমন, gcc ব্যবহার করার সময় -march=atom ব্যবহার করা এড়িয়ে চলুন এবং পরিবর্তে -march=x86-64 ব্যবহার করুন।

Unity-তে টার্গেট আর্কিটেকচার

Unity 2019 ও 2020-এর কিছু ভার্সনে Android-এ x86-64 আর্কিটেকচার সাপোর্ট নেই। আপনি Unity 2019.4.31f1, 2020.3.19f1 বা এর পরের কোনও ভার্সন ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

আপনার গেম যদি Unity গেম ইঞ্জিনের মানানসই ভার্সন ব্যবহার করে, তাহলে x86-64 Android টার্গেট চালু করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. IL2CPP স্ক্রিপ্টিং ব্যাকএন্ড চালু করতে, প্লেয়ার সেটিংস > অন্যান্য সেটিংস > কনফিগারেশন > স্ক্রিপ্টিং ব্যাকএন্ড বিকল্পে যান এবং ড্রপডাউন মেনু থেকে IL2CPP বেছে নিন।

  2. আপনার Unity ভার্সনের জন্য x86-64 Android টার্গেট চালু করুন:

    • Unity 2018 এবং তার আগের ভার্সন: প্লেয়ার সেটিংস > অন্যান্য সেটিংস > টার্গেট আর্কিটেকচার বিকল্পে যান এবং x86 চেকবক্স বেছে নিন। Unity 2018 শুধুমাত্র x86 টার্গেটের সাথে কাজ করে, তাই আপনি x86-64 বিল্ড করতে পারবেন না। এই বিল্ডের জন্য রিভিউ টিমের থেকে ব্যতিক্রমের অনুমতি নিতে হবে। x86 ব্যতিক্রমের অনুরোধ করতে আপনার Google পরিচিতির সাথে যোগাযোগ করুন।

    • Unity 2019 দীর্ঘ মেয়াদী সহায়তা (LTS) রিলিজ এবং পরবর্তী ভার্সন: প্লেয়ার সেটিংস > অন্যান্য সেটিংস > টার্গেট আর্কিটেকচার বিকল্পে যান এবং x86-64 (ChromeOS) চালু করুন।

পিসি (PC)-তে Google Play Games শনাক্ত করা

আপনি রানটাইমে পিসি (PC)-তে Google Play Games প্ল্যাটফর্ম শনাক্ত করতে পারবেন, যা আপনাকে আপনার গেমে প্ল্যাটফর্ম-নির্দিষ্ট ফিচার চালু বা বন্ধ করার অনুমতি দেয়।

আপনার গেম পিসি (PC) প্ল্যাটফর্মে Google Play Games-এ চলছে কিনা তা নির্ধারণ করতে সিস্টেম ফিচার com.google.android.play.feature.HPE_EXPERIENCE চেক করুন:

Kotlin

    var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

জাভা

    PackageManager pm = getPackageManager();
    boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
  

Android লাইফসাইকেল ইভেন্ট ম্যানেজ করা

পিসি (PC)-তে Google Play Games-এর পরিবেশে onPause (c++) ইভেন্ট ম্যানেজ করা গুরুত্বপূর্ণ। কোনও প্লেয়ার এমুলেটর ওভারলে অ্যাক্টিভেট করলে আপনার গেম দেখা যায়, তাই onPause ইভেন্ট শুনতে না পেলে ব্যবহারকারীর অভিজ্ঞতা খারাপ হতে পারে।

UI আপডেট করা

কিছু UI এলিমেন্ট ও জেসচার পিসি (PC)-এর জন্য উপযুক্ত নয় এবং সেগুলি আপডেট করা উচিত।

আবশ্যক:

  • দুই বা তার বেশি আঙুল (মাল্টি-টাচ জেসচার) প্রয়োজন হয় এমন UI অ্যাকশন পরিবর্তন করুন। যেমন, আপনাকে পিঞ্চ-টু-জুম এবং অন্যান্য মাল্টি-টাচ জেসচার সংশ্লিষ্ট মাউস এবং কীবোর্ড ইনপুট দিয়ে প্রতিস্থাপন করতে হবে। ডিভাইস ইনপুট সংক্রান্ত পরিবর্তনের ব্যাপারে বিস্তারিত জানতে, ইনপুট সংক্রান্ত সহায়তা দেখুন।

প্রস্তাবিত:

  • ব্যবহারকারী দেখতে পাবেন এমন সব টেক্সটে "ট্যাপ করুন" লেখার পরিবর্তে "ক্লিক করুন" লিখতে হবে।
  • স্ক্রল করা যায় এমন তালিকায় স্ক্রলবার থাকতে হবে।
  • ব্যবহারকারীরা প্যান করতে পারেন এমন জায়গায় স্ক্রলবার বা বড় দূরত্ব দ্রুত অতিক্রম করার জন্য অন্য কোনও উপায় থাকতে হবে।
  • টেক্সট লেখার জন্য স্ক্রিনে ক্লিক করা যায় এমন কীবোর্ড দেখাবেন না।
  • সব টেক্সট এন্ট্রি টেক্সট ফিল্ডের সীমার মধ্যে হতে হবে।
  • দেখা যায় এমন এলিমেন্টে ক্লিক করলে:
    • এলিমেন্টের দৃশ্যমান সীমার মধ্যে যেকোনও জায়গায় ক্লিক গ্রহণ করুন।
    • দৃশ্যমান এলিমেন্টের বাইরের অংশে ক্লিক করলে তা গ্রহণ করা হবে না।
  • ডায়ালগে বন্ধ করার বোতাম দেখা যেতে হবে। ডায়ালগ বাউন্ডের বাইরে ক্লিক শনাক্ত করবেন না।

বেশিরভাগ অনুমতির ডায়ালগ বন্ধ করুন

মাইক্রোফোন ও বিজ্ঞপ্তি সংক্রান্ত অনুমতি ছাড়া, পিসি (PC)-তে Google Play Games-এ অনুমতির ডায়ালগ দেখানো হয় না, তাই রানটাইমে সেগুলি দেখানোর বা অনুমতির অনুরোধ করার চেষ্টা করবেন না। আপনি যদি আগে অনুমতির ডায়ালগ দেখিয়ে থাকেন, তাহলে আপনার গেম আপডেট করা উচিত যাতে এটি পিসি (PC)-তে আর সেগুলি না দেখায়।

কাজ করে না এমন Android ফিচার ও অনুমতি

রিলিজ প্রসেসের জন্য প্রয়োজন

মোবাইল ফোন ও ট্যাবলেটের কিছু সাধারণ হার্ডওয়্যার ফিচার পিসি (PC)-তে উপলভ্য নয়। এর মধ্যে ক্যামেরা বা প্লেয়ারের লোকেশনের মতো হার্ডওয়্যার ফিচার অন্তর্ভুক্ত। যেসব গেমের জন্য প্রয়োজনীয় ফিচার নেই, সেগুলি প্লেয়ারের পিসি (PC)-তে ডাউনলোড ও ইনস্টল করা যাবে না। পিসি (PC)-তে কোনও ফিচার না থাকলে, সেটির জন্য করা অনুরোধ অটোমেটিক বাতিল হয়ে যায়।

আপনি এটি টাইপ করে উপলভ্য ফিচারের সম্পূর্ণ তালিকা দেখতে পারবেন:

adb shell pm list features

পিসি (PC)-তে আপনার গেম মানানসই করতে, নিম্নলিখিত পরিবর্তনগুলি করতে হবে:

  • <uses-feature> ডিক্লারেশনে android:required="false" যোগ করে আপনার অ্যাপ ম্যানিফেস্টে ফিচারগুলি ঐচ্ছিক হিসেবে চিহ্নিত করুন। এটি শুধুমাত্র আপনার অ্যাপ ম্যানিফেস্টে আগে থেকে ঘোষণা করা ফিচারের ক্ষেত্রে প্রযোজ্য।

  • রানটাইমে অনুপস্থিত ফিচার ব্যবহার করার চেষ্টা করবেন না। আপনি যদি মোবাইল ও পিসি (PC) ট্র্যাক, দুটিতেই একই APK ব্যবহার করেন, তাহলে রানটাইমে পিসি (PC) এনভায়রনমেন্ট শনাক্ত করুন এবং প্রাসঙ্গিক কোড পাথ এড়িয়ে চলুন।

  • রানটাইমে কাজ করে না এমন Android অনুমতি অনুরোধ করবেন না। আপনি যদি মোবাইল ও পিসি (PC) ট্র্যাক, দুটিতেই একই APK ব্যবহার করেন, তাহলে রানটাইমে পিসি (PC) এনভায়রনমেন্ট শনাক্ত করুন এবং প্রাসঙ্গিক কোড পাথ এড়িয়ে চলুন। আপনার ম্যানিফেস্ট আপডেট করার প্রয়োজন নেই।

অ্যাপ ম্যানিফেস্ট কম্প্যাটিবিলিটি সম্পর্কে আরও জানতে, Chromebook অ্যাপ ম্যানিফেস্ট কম্প্যাটিবিলিটি নির্দেশিকা দেখুন।

ফাংশনাল টেস্টিং সংক্রান্ত প্রয়োজনীয়তা

Google Play Console-এ প্রথম টেস্ট বিল্ড জমা দেওয়ার আগে এইসব হার্ডওয়্যার ফিচার সরিয়ে দিন:

  • android.hardware.wifi
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.location

এইসব ফিচারের মধ্যে কিছু ফিচার, মানানসই হওয়ার কারণে pm list features চালানোর সময় কাজ করে বলে তালিকাভুক্ত করা হতে পারে, তবে সেগুলি সম্পূর্ণভাবে প্রয়োগ করা হয়নি। android.hardware.wifi ফিচার কীভাবে সরাবেন সেই সম্পর্কে আরও তথ্যের জন্য, কানেক্টিভিটি স্ট্যাটাস ও কানেকশন মিটারিং মনিটর করুন দেখুন। কাজ করে না এমন ফিচারের সম্পূর্ণ তালিকা দেখতে, Chromebook-এর জন্য অ্যাপ ম্যানিফেস্ট কম্প্যাটিবিলিটি গাইড দেখুন।

কোয়ালিটি টেস্টিং সংক্রান্ত প্রয়োজনীয়তা

সাধারণত ব্যবহার করা হয় এমন হার্ডওয়্যার ফিচার পিসির (PC) সাথে মানানসই নয়, তাই Google Play Console-এ চূড়ান্ত জমা দেওয়ার আগে আপনাকে অবশ্যই সেগুলি সরিয়ে দিতে হবে:

  • android.hardware.audio.pro
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.consumerir
  • android.hardware.location
  • android.hardware.nfc
  • android.hardware.sensor.light
  • android.hardware.sensor.accelerometer
  • android.hardware.sensor.barometer
  • android.hardware.sensor.compass
  • android.hardware.sensor.gyroscope
  • android.hardware.sensor.proximity
  • android.hardware.telephony
  • android.hardware.touchscreen
  • android.hardware.usb.accessory
  • android.hardware.usb.host
  • android.hardware.wifi
  • android.software.midi

অনুমতি কাজ করে না

সাধারণত ব্যবহার করা হয় এমন নিম্নলিখিত অনুমতিগুলি পিসি (PC)-তে কাজ করে না, তাই পিসি (PC)-তে Google Play Games-এর জন্য আপনার গেমকে অবশ্যই সেগুলি বন্ধ করতে হবে:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.CAMERA
  • android.permission.FOREGROUND_SERVICE
  • android.permission.GET_ACCOUNTS
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.USE_CREDENTIALS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SETTINGS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION

এক্সটার্নাল ওয়েবসাইট ও WebView

ব্রাউজার ইনটেন্ট পিসি (PC)-তে Google Play Games এনভায়রনমেন্টের পরিবর্তে পিসি (PC)-র নেটিভ ওয়েব ব্রাউজারে লোড হয়। বেশিরভাগ পরিস্থিতিতেই এটি প্লেয়ারদের জন্য একটি আদর্শ অভিজ্ঞতা।

সহজে পোর্ট করার জন্য, পিসি (PC)-তে Google Play Games-এ WebView কাজ করে। যেহেতু এটি পিসি (PC)-তে Google Play Games এনভায়রনমেন্টে খোলে, তাই এতে সাধারণ ডেস্কটপ ব্রাউজার থাকবে না। আপনি যদি আগে পরিষেবার শর্তাবলী, গোপনীয়তা নীতি বা এই ধরনের অন্যান্য কন্টেন্ট শেয়ার করার জন্য WebView ব্যবহার করে থাকেন, তাহলে আপনাকে এর পরিবর্তে ব্রাউজার ইনটেন্ট কল করতে হবে।

কাজ করে না এমন Google Play Service API বন্ধ করুন

রিলিজ প্রসেসের জন্য প্রয়োজন

পিসি (PC)-তে Google Play Games-এর নিজস্ব Google Play পরিষেবা ভেরিয়েন্ট আছে, যেটিতে Google Play পরিষেবা API-এর শুধুমাত্র একটি সাবসেট আছে। আপনাকে কনফার্ম করতে হবে যে আপনার অ্যাপ্লিকেশনটি পিসিতে বাদ দেওয়া বা অসমর্থিত মডিউলগুলির উপর অত্যন্ত নির্ভরশীল নয়। মনে রাখবেন, কিছু মডিউল উপলভ্য থাকলেও, সেগুলির ফাংশনালিটি সব সময় কাজ নাও করতে পারে। যেমন, পিসি (PC)-তে Google Play Games বন্ধ থাকলে Firebase ক্লাউড মেসেজিং কাজ করবে না।

যেসব মডিউলে কাজ করে

এইসব মডিউল বর্তমানে উপলভ্য এবং পিসি (PC)-তে Google Play Games-এর মাধ্যমে কাজ করে, অতিরিক্ত ফিচার সাপোর্ট করার পরিকল্পনা সহ:

সীমিত সহায়তা

নিম্নলিখিত মডিউলগুলি আংশিকভাবে কাজ করছে। পিসি (PC)-তে Google Play Games-এ সেগুলি যাতে কাজ করে তার জন্য আমরা যথাসাধ্য চেষ্টা করব, তবে সেগুলি কাজ করবেই এমন কোনও গ্যারেন্টি আমরা দিতে পারি না।

সাপোর্ট করে না

এইসব মডিউল পিসি (PC)-তে Google Play Games-এ কাজ করে না, তবে এগুলি কাজ না করলে পিসি (PC)-তে Google Play Games-এ কোনও সমস্যা হয় না:

ভাঙা

রিলিজ প্রসেসের জন্য প্রয়োজন

পিসি (PC)-তে আপনাকে এইসব মডিউল ব্যবহার করলে চলবে না কারণ এর ফলে পিসি (PC)-তে Google Play Games-এ অপ্রত্যাশিত আচরণ দেখা যেতে পারে।

স্কোপড স্টোরেজ চালু করুন

রিলিজ প্রসেসের জন্য প্রয়োজন

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

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

স্কোপড স্টোরেজ সম্পর্কে আরও জানতে, দেখুন:

Analytics

পিসি (PC)-তে Google Play Games-এ পুরনো Google Analytics প্রোডাক্ট কাজ করে না। আপনার গেমের ক্ষেত্রে এটি প্রযোজ্য হলে, আপনাকে সেটি Google Analytics 4-এ মাইগ্রেট করতে হবে।

আপনি বর্তমানে Google Analytics 360 ব্যবহার করলে তবেই এটি আপনার গেমকে প্রভাবিত করবে। আপনি যদি গেমে অ্যানালিটিক্স ইভেন্ট ট্র্যাক করার জন্য Firebase SDK ব্যবহার করেন এবং Google Analytics Console-এ আপনার গেমকে প্রপার্টি হিসেবে দেখতে পান, তাহলে আপনাকে আর কোনও পদক্ষেপ নিতে হবে না।