पीसी पर Google Play Games on PC के साथ काम करने की सुविधा और ऑप्टिमाइज़ेशन

Google Play Games on PC के लिए, आपको अपने गेम में पीसी के साथ काम करने और ऑप्टिमाइज़ेशन से जुड़े बदलाव करने होंगे. इन बदलावों से यह पक्का होता है कि आपका गेम पीसी पर चल सकता है और उपयोगकर्ताओं को प्लैटफ़ॉर्म के हिसाब से बेहतर अनुभव मिलता है.

इसके अलावा, Google Play Games on PC के लिए ग्राफ़िक, डिवाइस इनपुट, और एक से ज़्यादा डिवाइसों पर गेम खेलने से जुड़ी ज़रूरी शर्तें भी होती हैं. ज़्यादा जानकारी के लिए, शुरू करने के बारे में जानकारी देने वाली गाइड देखें.

पीसी के साथ काम करने और उसे ऑप्टिमाइज़ करने से जुड़े बदलाव करते समय (x86-64 के अलावा), अपने गेम को Google Play Games on PC का पता लगाने के लिए सेट अप किया जा सकता है. इसके बाद, प्लैटफ़ॉर्म के हिसाब से सुविधाओं को बंद या चालू किया जा सकता है. इससे, Android मोबाइल और पीसी रिलीज़ के लिए एक ही APK या ऐप्लिकेशन बंडल का इस्तेमाल किया जा सकता है.

इस पेज पर दी गई ज़रूरी शर्तों और सुझावों के बारे में खास जानकारी यहां दी गई है:

x86-64 ABI आर्किटेक्चर शामिल करना

रिलीज़ की प्रोसेस के लिए ज़रूरी है

आपके गेम में शामिल सभी लाइब्रेरी के लिए, x86-64 एबीआई के साथ काम करने वाले वर्शन ज़रूरी हैं. इससे, प्लैटफ़ॉर्म पर बेहतर परफ़ॉर्मेंस और स्थिरता मिलती है.

अगर आपके गेम के लिए, तकनीकी रूप से 64 बिट x86 एक्सीक्यूटेबल शिप करना मुमकिन नहीं है, तो अपवाद के लिए समीक्षा टीम से संपर्क करें. आपके गेम को पूरा सर्टिफ़िकेट नहीं मिल सकता. हालांकि, इसे कैटलॉग में "खेला जा सकने वाला" गेम के तौर पर रखा जा सकता है.

लाइब्रेरी कंपाइलेशन

x86-64 प्रोसेसर के साथ बेहतर तरीके से काम करने के लिए, अपनी लाइब्रेरी को कंपाइल करते समय, atom निर्देश सेट का इस्तेमाल न करें. उदाहरण के लिए, 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 के एलटीएस वर्शन और उसके बाद के वर्शन: प्लेयर सेटिंग > अन्य सेटिंग > टारगेट आर्किटेक्चर पर जाएं और x86-64 (ChromeOS) को चालू करें.

Google Play Games on PC का पता लगाना

Google Play Games on PC प्लैटफ़ॉर्म का पता, गेम के चलने के दौरान लगाया जा सकता है. इससे, अपने गेम में प्लैटफ़ॉर्म के हिसाब से सुविधाओं को चालू या बंद किया जा सकता है.

सिस्टम की सुविधा com.google.android.play.feature.HPE_EXPERIENCE देखकर यह पता लगाएं कि आपका गेम, Google Play Games on PC प्लैटफ़ॉर्म पर चल रहा है या नहीं:

Kotlin

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

Java

    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 के लाइफ़साइकल इवेंट मैनेज करना

'पीसी के लिए Google Play Games' प्लैटफ़ॉर्म पर, onPause (c++) इवेंट को मैनेज करना ज़रूरी है. जब कोई खिलाड़ी एमुलेटर ओवरले चालू करता है, तब आपका गेम दिखता है. इसलिए, onPause इवेंट को सुनने में गलती करने पर, उपयोगकर्ता को खराब अनुभव मिल सकता है.

यूज़र इंटरफ़ेस (यूआई) अपडेट करना

कुछ यूज़र इंटरफ़ेस (यूआई) एलिमेंट और जेस्चर, पीसी पर काम नहीं करते. इसलिए, उन्हें अपडेट करना चाहिए.

ज़रूरी:

  • यूज़र इंटरफ़ेस (यूआई) की उन कार्रवाइयों को बदलें जिनके लिए दो या उससे ज़्यादा उंगलियों (मल्टी-टच जेस्चर) की ज़रूरत होती है. उदाहरण के लिए, आपको पिंच-टू-ज़ूम और दूसरे मल्टी-टच जेस्चर को, माउस और कीबोर्ड इनपुट से बदलना चाहिए. डिवाइस के इनपुट में हुए बदलावों के बारे में जानने के लिए, इनपुट से जुड़ी सहायता लेख पढ़ें.

सुझाया गया मान :

  • उपयोगकर्ता को दिखने वाले सभी टेक्स्ट में, "टैप करें" के बजाय "क्लिक करें" लिखा होना चाहिए.
  • स्क्रोल की जा सकने वाली सूचियों में स्क्रोलबार होने चाहिए.
  • जिन जगहों को उपयोगकर्ता पैन कर सकते हैं उनमें स्क्रोलबार या बड़ी दूरी को तेज़ी से पार करने का कोई दूसरा तरीका होना चाहिए.
  • टेक्स्ट डालने के लिए, स्क्रीन पर क्लिक किया जा सकने वाला कीबोर्ड न दिखाएं.
  • सभी टेक्स्ट एंट्री, टेक्स्ट फ़ील्ड के बॉउंड में होनी चाहिए.
  • दिखने वाले एलिमेंट पर होने वाले क्लिक:
    • एलिमेंट के दिखने वाले हिस्से में कहीं भी क्लिक स्वीकार करें.
    • दिखने वाले एलिमेंट के बाहर के हिस्से में क्लिक स्वीकार न करना.
  • डायलॉग बॉक्स में, 'बंद करें' बटन दिखना चाहिए. डायलॉग बॉक्स के बाहर क्लिक का पता न लगाएं.

अनुमतियों के ज़्यादातर डायलॉग बंद करना

माइक्रोफ़ोन और सूचनाओं की अनुमतियों के अलावा, Google Play Games on PC, अनुमतियों के डायलॉग नहीं दिखाता. इसलिए, आपको उन्हें दिखाने या रनटाइम के दौरान अनुमतियों का अनुरोध करने की कोशिश नहीं करनी चाहिए. अगर आपने पहले अनुमति के लिए डायलॉग बॉक्स दिखाए हैं, तो आपको अपने गेम को अपडेट करना चाहिए, ताकि वह अब पीसी पर ये डायलॉग बॉक्स न दिखाए.

Android की ऐसी सुविधाएं और अनुमतियां जो काम नहीं करतीं

रिलीज़ की प्रोसेस के लिए ज़रूरी है

मोबाइल फ़ोन और टैबलेट पर मौजूद कुछ सामान्य हार्डवेयर की सुविधाएं, पीसी पर उपलब्ध नहीं हैं. इसमें हार्डवेयर की सुविधाएं भी शामिल हैं, जैसे कि कैमरा या किसी खिलाड़ी की जगह की जानकारी. अगर किसी गेम के लिए ज़रूरी सुविधाएं उपलब्ध नहीं हैं, तो उसे खिलाड़ी के पीसी पर डाउनलोड और इंस्टॉल नहीं किया जा सकता. अगर किसी पीसी पर कोई सुविधा उपलब्ध नहीं है, तो उसके लिए अनुरोध अपने-आप अस्वीकार हो जाता है.

उपलब्ध सुविधाओं की पूरी सूची देखने के लिए, यह टाइप करें:

adb shell pm list features

अपने गेम को पीसी के साथ काम करने लायक बनाने के लिए, इन बदलावों की ज़रूरत है:

  • <uses-feature> एलान में android:required="false" जोड़कर, अपने ऐप्लिकेशन मेनिफ़ेस्ट में सुविधाओं को वैकल्पिक के तौर पर मार्क करें. यह सिर्फ़ उन सुविधाओं पर लागू होता है जिनके बारे में आपके ऐप्लिकेशन मेनिफ़ेस्ट में पहले से एलान किया जा चुका है.

  • रनटाइम के दौरान, उपलब्ध नहीं सुविधाओं का इस्तेमाल करें. अगर मोबाइल और पीसी, दोनों ट्रैक पर एक ही APK का इस्तेमाल किया जा रहा है, तो रनटाइम के दौरान पीसी एनवायरमेंट का पता लगाएं और काम के कोड पाथ से बचें.

  • रनटाइम के दौरान, ऐसी Android अनुमतियों का अनुरोध न करें जो काम नहीं करती हैं. अगर मोबाइल और पीसी, दोनों ट्रैक पर एक ही APK का इस्तेमाल किया जा रहा है, तो रनटाइम के दौरान पीसी एनवायरमेंट का पता लगाएं और काम के कोड पाथ से बचें. आपको अपना मेनिफ़ेस्ट अपडेट करने की ज़रूरत नहीं है.

ऐप्लिकेशन मेनिफ़ेस्ट की सुविधाओं के साथ काम करने के बारे में ज़्यादा जानने के लिए, Chromebook पर ऐप्लिकेशन मेनिफ़ेस्ट की सुविधाओं के साथ काम करने के बारे में गाइड देखें.

फ़ंक्शन की जांच से जुड़ी ज़रूरी शर्तें

Google Play Console में पहला टेस्ट बिल्ड सबमिट करने से पहले, इन हार्डवेयर सुविधाओं को हटाएं:

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

इनमें से कुछ सुविधाओं को, pm list features के साथ काम करने की वजह से, 'काम करती हैं' के तौर पर दिखाया जा सकता है. हालांकि, ये सुविधाएं पूरी तरह से लागू नहीं होतीं. android.hardware.wifi सुविधा को हटाने के तरीके के बारे में ज़्यादा जानने के लिए, कनेक्टिविटी की स्थिति और कनेक्शन मेज़रमेंट को मॉनिटर करना लेख पढ़ें. काम न करने वाली सुविधाओं की पूरी सूची के लिए, Chromebook के लिए ऐप्लिकेशन मेनिफ़ेस्ट की संगतता से जुड़ी गाइड देखें.

क्वालिटी टेस्टिंग से जुड़ी ज़रूरी शर्तें

आम तौर पर इस्तेमाल होने वाली ये हार्डवेयर सुविधाएं, पीसी के साथ काम नहीं करतीं. इसलिए, आपको 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

काम न करने वाली अनुमतियां

आम तौर पर इस्तेमाल की जाने वाली ये अनुमतियां, पीसी पर काम नहीं करतीं. इसलिए, आपके गेम को Google Play Games on PC के लिए इन्हें बंद करना होगा:

  • 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

बाहरी वेबसाइटें और वेबव्यू

ब्राउज़र इंटेंट, Google Play Games on PC के एनवायरमेंट के बजाय, पीसी के नेटिव वेब ब्राउज़र में लोड होता है. ज़्यादातर मामलों में, यह खिलाड़ियों के लिए बेहतरीन अनुभव होता है.

पोर्ट करने की प्रोसेस को आसान बनाने के लिए, Google Play Games on PC में वेबव्यू की सुविधा काम करती है. यह 'पीसी के लिए Google Play Games' प्लैटफ़ॉर्म पर खुलता है. इसलिए, इसमें सामान्य डेस्कटॉप ब्राउज़र नहीं होगा. अगर आपने पहले सेवा की शर्तें, निजता नीति या इससे मिलता-जुलता कोई अन्य कॉन्टेंट शेयर करने के लिए WebView का इस्तेमाल किया था, तो अब आपको ब्राउज़र इंटेंट का इस्तेमाल करना चाहिए.

काम न करने वाले Google Play services के एपीआई बंद करना

रिलीज़ की प्रोसेस के लिए ज़रूरी है

Google Play Games on PC, Google Play Services का अपना वैरिएंट शिप करता है. इसमें, Google Play Services के एपीआई का सिर्फ़ एक सबसेट होता है. आपको यह पुष्टि करनी होगी कि आपका ऐप्लिकेशन, उन मॉड्यूल पर बहुत ज़्यादा निर्भर नहीं है जिन्हें पीसी पर शामिल नहीं किया गया है या जिन पर काम नहीं करता. ऐसा हो सकता है कि कुछ मॉड्यूल उपलब्ध हों, लेकिन उनकी सुविधाएं हर समय काम न करें. उदाहरण के लिए, Google Play Games on PC बंद होने पर, Firebase Cloud Messaging काम नहीं करेगा.

काम करने वाले मॉड्यूल

फ़िलहाल, ये मॉड्यूल उपलब्ध हैं और Google Play Games on PC के साथ काम करते हैं. साथ ही, इनमें और भी सुविधाएं जोड़ी जा सकती हैं:

सीमित सहायता

ये मॉड्यूल कुछ हद तक काम करते हैं. हम पीसी पर Google Play Games में इन गेम को चलाने की पूरी कोशिश करेंगे. हालांकि, हम इस बात की गारंटी नहीं दे सकते कि ये गेम ठीक से काम करेंगे.

काम नहीं करते

ये मॉड्यूल, Google Play Games on PC पर काम नहीं करते. हालांकि, काम न करने पर भी Google Play Games on PC में कोई समस्या नहीं होती:

टूटी हुई ओडियो फ़ाइल

रिलीज़ की प्रोसेस के लिए ज़रूरी है

आपको इन मॉड्यूल का इस्तेमाल पीसी पर नहीं करना चाहिए, क्योंकि इनकी वजह से Google Play Games on PC में गड़बड़ियां हो सकती हैं.

स्कोप वाला स्टोरेज चालू करना

रिलीज़ की प्रोसेस के लिए ज़रूरी है

यह सेक्शन तब लागू होता है, जब आपका गेम बाहरी स्टोरेज में डेटा पढ़ता या उसमें डेटा सेव करता है. स्टोरेज को पढ़ने और उसमें डेटा लिखने के लिए, स्टोरेज के दायरे को लागू करना ज़रूरी है. ऐसा करने से, खिलाड़ी से इन संवेदनशील अनुमतियों के लिए अनुरोध करने की ज़रूरत नहीं पड़ती:

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

सीमित स्टोरेज के बारे में ज़्यादा जानकारी के लिए, यहां देखें:

आंकड़े

Google Analytics के लेगसी प्रॉडक्ट, Google Play Games on PC में काम नहीं करते. अगर यह शर्त आपके गेम पर लागू होती है, तो आपको इसे Google Analytics 4 पर माइग्रेट करना चाहिए.

इसका असर आपके गेम पर सिर्फ़ तब पड़ेगा, जब फ़िलहाल Google Analytics 360 का इस्तेमाल किया जा रहा हो. अगर आपने अपने गेम में आंकड़ों से जुड़े इवेंट ट्रैक करने के लिए, Firebase SDK टूल का इस्तेमाल किया है और आपको Google Analytics कंसोल में अपने गेम को प्रॉपर्टी के तौर पर दिख रहा है, तो आपको कोई और कार्रवाई करने की ज़रूरत नहीं है.