पीसी पर 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 के लिए बनाई गई हों. इससे आपको यह पक्का करने में मदद मिलती है कि गेम की परफ़ॉर्मेंस और स्थिरता सबसे अच्छी हो. इसके लिए, आपको किसी भी ट्रांसलेशन लेयर का इस्तेमाल नहीं करना होगा.

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

यह पक्का करने के लिए कि 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 स्क्रिप्टिंग बैकएंड को चालू करने के लिए, Player Settings > Other Settings > Configuration > Scripting Backend पर जाएं. इसके बाद, ड्रॉपडाउन मेन्यू से IL2CPP चुनें.

  2. Unity के अपने वर्शन के लिए, x86-64 Android टारगेट चालू करें:

    • Unity 2018 और इससे पहले के वर्शन: Player Settings > Other Settings > Target Architecture पर जाएं और x86 चेकबॉक्स को चुनें. Unity 2018 सिर्फ़ x86 टारगेट के साथ काम करता है. इसलिए, x86-64 नहीं बनाया जा सकेगा. इस बिल्ड के लिए, समीक्षा टीम से अपवाद की अनुमति लेनी होगी. x86 आर्किटेक्चर के लिए अपवाद का अनुरोध करने के लिए, कृपया Google के प्रतिनिधि से संपर्क करें.

    • Unity 2019 Long Term Support (LTS) रिलीज़ और इसके बाद के वर्शन: Player Settings > Other Settings > Target Architectures पर जाएं और x86-64 (ChromeOS) को चालू करें.

पीसी पर Google Play Games का पता लगाने की सुविधा

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 on PC के एनवायरमेंट में, 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 को चलाने पर, इनमें से कुछ सुविधाओं को काम करने वाली सुविधाओं के तौर पर दिखाया जाए. हालांकि, ऐसा सिर्फ़ इसलिए किया जाता है, ताकि यह पता चल सके कि ये सुविधाएं 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, WebView के साथ काम करता है. यह Google Play Games on PC के एनवायरमेंट में खुलता है. इसलिए, इसमें डेस्कटॉप ब्राउज़र की सुविधा नहीं होगी. अगर आपने सेवा की शर्तों, निजता नीति या इसी तरह के अन्य कॉन्टेंट को शेयर करने के लिए, पहले WebView का इस्तेमाल किया था, तो आपको इसके बजाय ब्राउज़र इंटेंट को चालू करना चाहिए.

Google Play सेवा के ऐसे एपीआई बंद करें जो काम नहीं करते

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

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

डिवाइस के स्कोप किए गए स्टोरेज के बारे में ज़्यादा जानकारी के लिए, यहां जाएं:

Analytics

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

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