Google Play Games on PC के लिए, आपको अपने गेम में पीसी के साथ काम करने और उसे ऑप्टिमाइज़ करने से जुड़े बदलाव करने होंगे. इन बदलावों से यह पक्का होता है कि आपका गेम पीसी पर चल सकता है और उपयोगकर्ताओं को इस प्लैटफ़ॉर्म पर बेहतर अनुभव मिलता है.
इसके अलावा, Google Play Games on PC के लिए ग्राफ़िक, डिवाइस इनपुट, और क्रॉस-डिवाइस प्ले की ज़रूरी शर्तें भी पूरी करनी होती हैं. ज़्यादा जानकारी के लिए, शुरुआती निर्देश देखें.
पीसी पर गेम चलाने और उसे ऑप्टिमाइज़ करने से जुड़े बदलाव करते समय (x86-64 आर्किटेक्चर के अलावा), अपने गेम को इस तरह सेट अप किया जा सकता है कि वह Google Play Games on PC का पता लगा सके. इसके बाद, प्लैटफ़ॉर्म के हिसाब से उपलब्ध सुविधाओं को बंद या चालू किया जा सकता है. इससे आपको Android मोबाइल और पीसी रिलीज़ के लिए, एक ही APK या ऐप्लिकेशन बंडल का इस्तेमाल करने की अनुमति मिलती है.
इस पेज पर दी गई ज़रूरी शर्तों और सुझावों की खास जानकारी यहां दी गई है:
- x86-64 एबीआई शामिल करें (ज़रूरी है)
- रनटाइम के दौरान Google Play Games का पता लगाना (सुझाया गया)
- onPause इवेंट को मैनेज करना (सुझाया गया)
- यूज़र इंटरफ़ेस (यूआई) के एलिमेंट अपडेट करना (ज़रूरी है)
- Android ऐप्लिकेशन की अनुमतियों के डायलॉग बॉक्स बंद करें (ज़रूरी है)
- Android की उन सुविधाओं और अनुमतियों को बंद करें जो काम नहीं करती हैं (ज़रूरी है)
- WebViews को ब्राउज़र इंटेंट से बदलें (सुझाया गया)
- Google Play की सेवा से जुड़े ऐसे एपीआई बंद करें जो काम नहीं करते (ज़रूरी है)
- स्कोप किए गए स्टोरेज की सुविधा चालू करें (ज़रूरी है)
- Google Analytics 4 पर माइग्रेट करें (सुझाया गया)
x86-64 ABI आर्किटेक्चर शामिल करें
रिलीज़ करने की प्रोसेस के लिए ज़रूरी है
आपके गेम में शामिल सभी लाइब्रेरी के लिए, x86-64 एबीआई के साथ काम करने वाले वर्शन ज़रूरी हैं. इससे यह पक्का किया जा सकेगा कि प्लैटफ़ॉर्म पर गेम की परफ़ॉर्मेंस और स्थिरता बेहतर हो.
अगर तकनीकी तौर पर आपके गेम के लिए, 64 बिट x86 एक्ज़ीक्यूटेबल फ़ाइल शिप करना मुमकिन नहीं है, तो आपको समीक्षा टीम से संपर्क करके, इस बारे में बताना होगा. अगर आपके गेम में कोई अपवाद है, तो उसे पूरा सर्टिफ़िकेट नहीं मिल सकता. हालांकि, उसे कैटलॉग में "खेला जा सकता है" के तौर पर शामिल किया जा सकता है.
लाइब्रेरी कंपाइलेशन
यह पक्का करने के लिए कि 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 टारगेट चालू करने के लिए, यह तरीका अपनाएं:
IL2CPP स्क्रिप्टिंग बैकएंड को चालू करने के लिए, Player Settings > Other Settings > Configuration > Scripting Backend पर जाएं. इसके बाद, ड्रॉपडाउन मेन्यू से IL2CPP चुनें.
Unity के अपने वर्शन के लिए, x86-64 Android टारगेट चालू करें:
Unity 2018 और इससे पहले के वर्शन: Player Settings > Other Settings > Target Architecture पर जाएं और x86 चेकबॉक्स को चुनें. Unity 2018 सिर्फ़ x86 टारगेट के साथ काम करता है. इसलिए, x86-64 नहीं बनाया जा सकेगा. इस बिल्ड के लिए, समीक्षा टीम से अपवाद की अनुमति लेनी होगी. x86 आर्किटेक्चर के लिए अपवाद का अनुरोध करने के लिए, कृपया Google में मौजूद अपने संपर्क से बात करें.
Unity 2019 का एलटीएस वर्शन और इसके बाद के वर्शन: Player Settings > Other Settings > Target Architectures पर जाएं और x86-64 (ChromeOS) को चालू करें.
Google Play Games on PC का पता लगाना
Google Play Games on PC प्लैटफ़ॉर्म का पता रनटाइम में लगाया जा सकता है. इससे आपको अपने गेम में प्लैटफ़ॉर्म के हिसाब से सुविधाएं चालू या बंद करने की अनुमति मिलती है.
यह देखने के लिए कि आपका गेम Google Play Games on PC प्लैटफ़ॉर्म पर चल रहा है या नहीं, सिस्टम की सुविधा com.google.android.play.feature.HPE_EXPERIENCE देखें:
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.wifiandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.location
ऐसा हो सकता है कि pm list features को चलाने के दौरान, ये सुविधाएं काम करने वाली सुविधाओं के तौर पर दिखें. हालांकि, ऐसा इसलिए होता है, ताकि pm list features ठीक से काम कर सके. इन सुविधाओं को पूरी तरह से लागू नहीं किया गया है. android.hardware.wifi सुविधा हटाने के तरीके के बारे में ज़्यादा जानने के लिए, कनेक्टिविटी की स्थिति और कनेक्शन मीटरिंग की निगरानी करना लेख पढ़ें. ऐसी सुविधाओं की पूरी सूची देखने के लिए, Chromebook के लिए ऐप्लिकेशन मेनिफ़ेस्ट की कंपैटिबिलिटी गाइड देखें.
क्वालिटी टेस्टिंग से जुड़ी ज़रूरी शर्तें
आम तौर पर इस्तेमाल की जाने वाली ये हार्डवेयर सुविधाएं, पीसी के साथ काम नहीं करती हैं. इसलिए, आपको Google Play Console पर फ़ाइनल सबमिशन करने से पहले इन्हें हटाना होगा:
android.hardware.audio.proandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.consumerirandroid.hardware.locationandroid.hardware.nfcandroid.hardware.sensor.lightandroid.hardware.sensor.accelerometerandroid.hardware.sensor.barometerandroid.hardware.sensor.compassandroid.hardware.sensor.gyroscopeandroid.hardware.sensor.proximityandroid.hardware.telephonyandroid.hardware.touchscreenandroid.hardware.usb.accessoryandroid.hardware.usb.hostandroid.hardware.wifiandroid.software.midi
अनुमतियों का इस्तेमाल नहीं किया जा सकता
पीसी पर, आम तौर पर इस्तेमाल की जाने वाली ये अनुमतियां काम नहीं करती हैं. इसलिए, आपके गेम को Google Play Games on PC के लिए इन्हें बंद करना होगा:
android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_WIFI_STATEandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.FOREGROUND_SERVICEandroid.permission.GET_ACCOUNTSandroid.permission.INSTALL_PACKAGESandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_PHONE_STATEandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_CREDENTIALSandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.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 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 से साइन इन करना (इसमें खाता ट्रांसफ़र करना, SmartLock, एसएमएस से पुष्टि करना, पासवर्ड की जटिलता का हिसाब लगाना शामिल नहीं है)
- Cronet
- Google Play की गेम सेवाएं
- टास्क
- देखने में समस्या
- Google Pay
सीमित सहायता
ये मॉड्यूल आंशिक रूप से काम करते हैं. हम पीसी पर Google Play Games में इन गेम को चलाने की पूरी कोशिश करेंगे. हालांकि, हम इस बात की गारंटी नहीं दे सकते कि ये गेम काम करेंगे.
- Google Cloud Messaging (अब सेवा में नहीं है, Firebase Cloud Messaging का इस्तेमाल करें)
- Firebase Authentication (फ़ोन नंबर से पुष्टि करने की सुविधा काम नहीं करती)
- Firebase क्लाउड से मैसेज भेजने की सुविधा
- Firebase की सामान्य लाइब्रेरी
- Firebase ML
- Firebase रिमोट कॉन्फ़िगरेशन
- Firebase Analytics
काम नहीं करते
ये मॉड्यूल, Google Play Games on PC में काम नहीं करते. हालांकि, इनके काम न करने से Google Play Games on PC में कोई समस्या नहीं आती:
- Google Analytics (समर्थित नहीं है, Firebase Analytics का इस्तेमाल करें)
- Google Cast
- Awareness API
- Drive (अब काम नहीं करता, इसे जल्द ही हटा दिया जाएगा)
- FIDO
- Firebase Realtime Database
- Firestore
- Firebase A/B टेस्टिंग
- Google Fit
- Address API
- Instant Apps API
- Location API
- Google Maps SDK
- आस-पास शेयरिंग
- Panorama
- जगहें
- Google+
- SafetyNet (यह सुविधा अब काम नहीं करती. आने वाले Play Integrity API को ऑप्ट-इन करने के लिए, कृपया अनुरोध फ़ॉर्म भरें)
- Google Tag Manager
- Wear OS
टूटी हुई ओडियो फ़ाइल
रिलीज़ करने की प्रोसेस के लिए ज़रूरी है
आपको पीसी पर इन मॉड्यूल का इस्तेमाल नहीं करना चाहिए, क्योंकि इससे Google Play Games on PC में अनचाही समस्याएं हो सकती हैं.
स्कोप किए गए स्टोरेज की सुविधा चालू करना
रिलीज़ करने की प्रोसेस के लिए ज़रूरी है
यह सेक्शन तब लागू होता है, जब आपका गेम बाहरी स्टोरेज से डेटा पढ़ता या उसमें डेटा लिखता है. स्टोरेज के दायरे को लागू करना ज़रूरी है, ताकि स्टोरेज में डेटा को पढ़ा और लिखा जा सके. ऐसा करने से, खिलाड़ी को इन संवेदनशील अनुमतियों के लिए प्रॉम्प्ट करने की ज़रूरत नहीं पड़ती:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
स्कोप किए गए स्टोरेज के बारे में ज़्यादा जानकारी के लिए, यहां जाएं:
आंकड़े
Google Play Games on PC में, लेगसी Google Analytics के प्रॉडक्ट काम नहीं करते. अगर यह आपके गेम पर लागू होता है, तो आपको इसे Google Analytics 4 पर माइग्रेट करना चाहिए.
इसका असर सिर्फ़ तब पड़ेगा, जब फ़िलहाल Google Analytics 360 का इस्तेमाल किया जा रहा हो. अगर आपने अपने गेम में Analytics इवेंट ट्रैक करने के लिए Firebase SDK का इस्तेमाल किया है और आपको Google Analytics कंसोल में अपना गेम एक प्रॉपर्टी के तौर पर दिख रहा है, तो आपको कोई और कार्रवाई करने की ज़रूरत नहीं है.