Android के लिए गेम डेवलप करते समय, यह अनुमान लगाना ज़रूरी है कि खिलाड़ियों को किस तरह के अनुभव मिल सकते हैं. साथ ही, खिलाड़ियों की रीयल-टाइम इंटरैक्शन की ज़रूरतों के हिसाब से गेम को अडैप्ट करना भी ज़रूरी है. खिलाड़ियों को अलग-अलग तरह के अनुभव देने से, गेमप्ले में लचीलापन बढ़ता है. इससे आपको अपने गेम की पहुंच बढ़ाने में मदद मिलती है.
खिलाड़ी के अनुभव में ये अंतर शामिल हैं:
- डिवाइस के साइज़, डाइमेंशन या कॉन्फ़िगरेशन: फ़ोन पर, Android डिवाइस का पारंपरिक अनुभव मिलता है. हालांकि, अन्य साइज़, डाइमेंशन या कॉन्फ़िगरेशन वाले डिवाइसों पर भी गेम खेले जा सकते हैं. ChromeOS डिवाइसों पर, Android कंटेनर चलाया जा सकता है. इससे आपका गेम दिखता है. Android पर काम करने वाले टैबलेट में, कई अलग-अलग लेवल की फ़िडेलिटी होती है. Android TV डिवाइसों पर, ज़्यादा जानकारी और शानदार अनुभव मिलता है. खिलाड़ी, डिसप्ले एक्सटेंशन टूल का इस्तेमाल करके मल्टी-विंडो एनवायरमेंट को सिम्युलेट कर सकते हैं. इसके अलावा, फ़ोल्ड किए जा सकने वाले डिवाइसों पर गेम खेलते समय, खिलाड़ी स्क्रीन का साइज़ बदल सकते हैं.
- इंटरैक्ट करने के तरीके: गेम खेलने वाले लोग, डिवाइस की स्क्रीन को छूकर इनपुट दे सकते हैं. इसके अलावा, वे माउस, टचपैड, कीबोर्ड या कंट्रोलर का इस्तेमाल भी कर सकते हैं. इसके अलावा, डिसप्ले एक्सटेंशन टूल और फ़ोल्ड किए जा सकने वाले डिवाइसों की उपलब्धता की वजह से, खिलाड़ी आपके गेम को बड़ी स्क्रीन पर खेल पाते हैं. इससे गेमप्ले के सेशन लंबे होते हैं और ज़्यादा जटिल इंटरफ़ेस को इस्तेमाल करना आसान हो जाता है.
- हार्डवेयर सपोर्ट: Android पर काम करने वाले कुछ डिवाइसों में ऐसा हार्डवेयर नहीं होता जो आम तौर पर हैंडहेल्ड डिवाइस में होता है. जैसे, पीछे की ओर लगा कैमरा, जीपीएस, और नेटवर्क कनेक्टिविटी. आपका गेम, उपलब्ध हार्डवेयर के हिसाब से काम करना चाहिए. साथ ही, उन स्थितियों को आसानी से हैंडल करना चाहिए जहां कुछ सुविधाएं उपलब्ध नहीं हैं.
इस गाइड में, अलग-अलग तरह की स्क्रीन और उपयोगकर्ता इंटरैक्शन के लिए गेम डेवलप करने के सबसे सही तरीकों के बारे में बताया गया है. इस गाइड में, गेम को डिज़ाइन करने और टेस्टिंग की असरदार रणनीति बनाने के बारे में भी सुझाव दिए गए हैं.
गेम डिज़ाइन करने के सबसे सही तरीके
अपने गेम के डिज़ाइन और आर्किटेक्चर की योजना बनाते समय, यहां दिए गए सबसे सही तरीके अपनाएं.
कॉन्फ़िगरेशन में हुए बदलावों का जवाब मैन्युअल तरीके से देना
जब Android सिस्टम को कॉन्फ़िगरेशन में बदलाव का पता चलता है, जैसे कि स्क्रीन के साइज़, स्क्रीन की दिशा या इनपुट का तरीका में बदलाव, तो सिस्टम डिफ़ॉल्ट रूप से मौजूदा ऐक्टिविटी को फिर से शुरू करता है. किसी ऐप्लिकेशन या गेम में स्थिति बनाए रखने के लिए, गतिविधि डिफ़ॉल्ट रूप से onSaveInstanceState() को कॉल करती है. ऐसा गतिविधि के रीस्टार्ट होने से पहले और onRestoreInstanceState() को कॉल करती है. ऐसा गतिविधि के रीस्टार्ट होने के बाद किया जाता है. हालांकि, इस प्रोसेस के लिए गतिविधि को उससे जुड़ी सभी सेवाओं और संसाधनों को फिर से लोड करना पड़ता है. इस डिफ़ॉल्ट व्यवहार के बारे में ज़्यादा जानने के लिए, कॉन्फ़िगरेशन में हुए बदलावों को मैनेज करने के बारे में बताने वाली गाइड देखें.
आम तौर पर, गेमप्ले सेशन के दौरान कॉन्फ़िगरेशन में कई बदलाव होते हैं. अगर आपका गेम, कॉन्फ़िगरेशन में होने वाले हर बदलाव को सिस्टम को हैंडल करने देता है, तो आपके गेम का सीन बार-बार बंद और चालू होता है. इससे आपके गेम की परफ़ॉर्मेंस कम हो जाती है. इसलिए, हमारा ज़ोरदार सुझाव है कि आप अपने गेम में, कॉन्फ़िगरेशन से जुड़े इन बदलावों को खुद मैनेज करें.
अपने गेम में कॉन्फ़िगरेशन बदलने का यह लॉजिक जोड़ने का तरीका जानने के लिए, कॉन्फ़िगरेशन बदलने के लिए कस्टम हैंडलर बनाने का तरीका बताने वाला सेक्शन देखें.
लचीला आर्किटेक्चर बनाना
अपने गेम को ज़्यादा से ज़्यादा डिवाइसों पर उपलब्ध कराने के लिए, यहां दिए गए सबसे सही तरीके अपनाएं:
- अलग-अलग APK के बजाय, Android ऐप्लिकेशन बंडल डिप्लॉय करें. Android ऐप्लिकेशन बंडल की मदद से, अलग-अलग रिज़ॉल्यूशन और अलग-अलग आर्किटेक्चर मॉडल (जैसे, x86, ARM) के आर्टफ़ैक्ट को एक ही आर्टफ़ैक्ट में पैकेज किया जा सकता है. Android ऐप्लिकेशन बंडल, आपके गेम के लिए साइज़ की ज़्यादा सीमाएं तय करते हैं. हर बेस APK का साइज़ 150 एमबी तक हो सकता है. साथ ही, बंडल का साइज़ कई गीगाबाइट तक हो सकता है.
- x86 आर्किटेक्चर के लिए सहायता जोड़ी गई. इस चरण से, उन डिवाइसों पर आपके गेम की परफ़ॉर्मेंस बेहतर होती है जिन पर एआरएम काम नहीं करता. ऐसा इसलिए, क्योंकि अब ये डिवाइस निर्देशों को पहले अनुवाद किए बिना ही लागू कर सकते हैं.
Vulkan के लिए सहायता जोड़ना
Vulkan का इस्तेमाल करने से, आपके गेम की ग्राफ़िक्स परफ़ॉर्मेंस बेहतर हो सकती है. ज़्यादातर डिवाइसों पर यह ग्राफ़िक्स एपीआई काम करता है.
कॉन्फ़िगरेशन में बदलाव करने वाले कस्टम हैंडलर बनाना
कॉन्फ़िगरेशन में हुए बदलावों के टाइप के बारे में बताने के लिए, अपने मेनिफ़ेस्ट में मौजूद हर <activity> एलिमेंट में android:configChanges एट्रिब्यूट जोड़ें. यह एट्रिब्यूट, स्क्रीन या कॉम्प्लेक्स इंटरफ़ेस को दिखाता है.
यहां दिए गए कोड स्निपेट में बताया गया है कि यह कैसे एलान किया जाए कि आपका गेम, स्क्रीन के साइज़, स्क्रीन ओरिएंटेशन, और इनपुट के तरीके में होने वाले बदलावों का ध्यान रखता है:
<activity ... android:configChanges="screenSize|orientation|keyboard|keyboardHidden"> </activity>
कॉन्फ़िगरेशन में बदलाव होने पर, सिस्टम अब एक अलग तरीके का इस्तेमाल करता है. यह तरीका है, onConfigurationChanged().
इस तरीके में, अपने गेम के यूज़र इंटरफ़ेस (यूआई) को अपडेट करने के लिए लॉजिक जोड़ें:
- स्क्रीन के स्केल फ़ैक्टर और ओरिएंटेशन को अपडेट करें. ध्यान रखें कि परफ़ॉर्मेंस के लिए, कभी-कभी गेम के यूज़र इंटरफ़ेस (यूआई) को सिर्फ़ एक डाइमेंशन के हिसाब से स्केल करना बेहतर होता है.
- खिलाड़ी के लिए, इनपुट करने का सबसे सही तरीका पहचानें.
स्क्रीन कॉन्फ़िगरेशन में हुए बदलावों को मैनेज करना
android:configChanges एट्रिब्यूट में screenSize और orientation वैल्यू शामिल करने पर, आपका गेम स्क्रीन के साइज़ और स्क्रीन की दिशा में होने वाले बदलावों को मैन्युअल तरीके से हैंडल करता है. इन नई वैल्यू का इस्तेमाल करके, अपने सीन के कॉन्टेंट और प्लेयर इनपुट एरिया को अपडेट किया जा सकता है. गेम के लेआउट को इस तरह से डिज़ाइन करने के बारे में जानकारी पाने के लिए, अलग-अलग स्क्रीन साइज़ के साथ काम करने से जुड़ी गाइड देखें. इससे गेम को अपडेट करना आसान हो जाएगा.
अपने गेम में onConfigurationChanged() को लागू करते समय, पास किए गए Configuration ऑब्जेक्ट और विंडो मैनेजर के Display ऑब्जेक्ट का इस्तेमाल करके, स्क्रीन साइज़ और स्क्रीन ओरिएंटेशन की अपडेट की गई वैल्यू का पता लगाएं.
यहां दिए गए कोड स्निपेट में बताया गया है कि अपने गेम की अपडेट की गई स्क्रीन का साइज़ और ओरिएंटेशन कैसे पाएं:
Kotlin
override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) val density: Float = resources.displayMetrics.density val newScreenWidthPixels = (newConfig.screenWidthDp * density).toInt() val newScreenHeightPixels = (newConfig.screenHeightDp * density).toInt() // Get general orientation; either Configuration.ORIENTATION_PORTRAIT or // Configuration.ORIENTATION_LANDSCAPE. val newScreenOrientation: Int = newConfig.orientation // Get general rotation; one of: ROTATION_0, ROTATION_90, ROTATION_180, // or ROTATION_270. val newScreenRotation: Int = windowManager.defaultDisplay.rotation }
Java
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); float density = getResources().getDisplayMetrics().density; int newScreenWidthPixels = (int) (newConfig.screenWidthDp * density); int newScreenHeightPixels = (int) (newConfig.screenHeightDp * density); // Get general orientation; either Configuration.ORIENTATION_PORTRAIT or // Configuration.ORIENTATION_LANDSCAPE. int newScreenOrientation = newConfig.orientation; // Get general rotation; one of: ROTATION_0, ROTATION_90, ROTATION_180, // or ROTATION_270. int newScreenRotation = getWindowManager().getDefaultDisplay() .getRotation(); }
ध्यान दें कि फ़ोल्ड किए जा सकने वाले डिवाइस की पोज़िशन बदलने से कॉन्फ़िगरेशन बदल जाता है. भले ही, आपका ऐप्लिकेशन फ़ुलस्क्रीन मोड में चल रहा हो. इसलिए, गेम चालू होने के दौरान उपयोगकर्ता के डिवाइस को फ़ोल्ड या अनफ़ोल्ड करने पर, आपके ऐप्लिकेशन को स्क्रीन साइज़ या पिक्सल डेंसिटी में होने वाले बदलावों को मैनेज करना पड़ सकता है.
गेम के हिसाब से स्क्रीन की क्वालिटी
यहां दिए गए सेक्शन में बताया गया है कि आपके गेम की क्वालिटी के हिसाब से, स्क्रीन के साइज़ या ओरिएंटेशन में होने वाले बदलावों के हिसाब से, गेम के रिस्पॉन्स को कैसे अडजस्ट किया जा सकता है:
फ़ुल-स्क्रीन मोड
ChromeOS जैसे कुछ प्लैटफ़ॉर्म पर, Android ऐप्लिकेशन और गेम को डिफ़ॉल्ट रूप से विंडो में खोला जा सकता है और उनका साइज़ बदला जा सकता है. अगर आपका गेम हमेशा फ़ुलस्क्रीन मोड में चलना चाहिए, तो <activity> एलिमेंट में से किसी एक में android:resizeableActivity एट्रिब्यूट को false पर सेट करें. ऐसा करने का तरीका यहां दिए गए कोड स्निपेट में दिखाया गया है:
<activity ... android:resizeableActivity="false"> </activity>
आकार के आधार पर कॉन्फ़िगरेशन में बदलाव होने से रोकने के लिए, android:resizeableActivity एट्रिब्यूट को false पर सेट करें. अगर आपका गेम हमेशा फ़ुलस्क्रीन मोड में नहीं चलता है, तो आपको इस एट्रिब्यूट को सिर्फ़ टेस्टिंग के लिए, कुछ समय के लिए जोड़ना चाहिए.
स्क्रीन की दिशा
अगर आपका गेम, डिवाइस के सेंसर के किसी खास ओरिएंटेशन पर निर्भर करता है, तो अपने गेम की गतिविधि में android:screenOrientation के लिए कोई वैल्यू तय करें. इसके लिए, यहां दिया गया कोड स्निपेट देखें. इस सेटिंग की मदद से, गेम में किसी सीन को अचानक उल्टा होने से रोका जा सकता है.
<activity ... android:screenOrientation="landscape"> </activity>
डिवाइस के हिसाब से स्क्रीन की क्वालिटी
यहां दिए गए सेक्शन में, स्क्रीन पर आधारित कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज करने का तरीका बताया गया है. ऐसा इसलिए, क्योंकि कुछ डिवाइसों में खास सुविधाएं होती हैं.
आसपेक्ट रेशियो
कुछ डिवाइसों पर अलग-अलग आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) काम करते हैं. उदाहरण के लिए, फ़ोल्ड किए जा सकने वाले डिवाइसों को इस तरह से डिज़ाइन किया जाता है कि फ़ोल्ड किए जाने पर, उनका आसपेक्ट रेशियो 21:9 हो. आसपेक्ट रेशियो में इस तरह के संभावित बदलावों को मैनेज करने के लिए, इनमें से कम से कम एक काम करें:
- Android 8.0 (एपीआई लेवल 26) या इसके बाद के वर्शन को टारगेट करें.
- अपने गेम के सीन और इंटरफ़ेस का साइज़ बदलने की सुविधा उपलब्ध कराएं. Android 7.0 (एपीआई लेवल 24) और इसके बाद के वर्शन वाले डिवाइसों पर,
android:resizeableActivityकोtrueपर सेट करें. ज़्यादा से ज़्यादा आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के बारे में बताएं. अपने गेम से जुड़े
<meta-data>एट्रिब्यूट में,android.max_aspectको2.4पर सेट करें. ऐसा इस कोड स्निपेट में दिखाया गया है. हालांकि, ध्यान रखें कि आपने जो पहलू अनुपात तय किया है उससे ज़्यादा पहलू अनुपात होने पर, गेम डिसप्ले में लेटरबॉक्स के तौर पर दिखता है.<application> <meta-data android:name="android.max_aspect" android:value="2.4" /> </application>
एक साथ कई गतिविधियां दिखना
कई आधुनिक डिवाइसों में, अलग-अलग तरह के स्क्रीन लेआउट काम करते हैं. जैसे, स्प्लिट-स्क्रीन, पिक्चर-इन-पिक्चर, और बड़ी डिसप्ले स्क्रीन. इनमें से किसी एक लेआउट का इस्तेमाल करने पर, सिस्टम एक ही समय में कई गतिविधियां दिखा सकता है.
Android 9 (एपीआई लेवल 28) या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, सबसे ऊपर दिखने वाली सभी गतिविधियों को एक साथ फिर से शुरू किया जा सकता है. हालांकि, इस सुविधा के काम करने के लिए, आपके गेम और डिवाइस के ओईएम, दोनों को इस सुविधा के लिए ऑप्ट-इन करना होगा. अपने गेम में इस सुविधा को जोड़ने के लिए, गेम के मेनिफ़ेस्ट में android.allow_multiple_resumed_activities को true पर सेट करें. इसके लिए, यहां दिए गए स्निपेट का इस्तेमाल करें:
<application> <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" /> </application>
इसके बाद, अपने गेम को अलग-अलग डिवाइसों पर टेस्ट करें. इससे आपको यह पता चलेगा कि कौनसे डिवाइसों पर, दो या इससे ज़्यादा ऐप्लिकेशन का एक साथ इस्तेमाल करने की सुविधा ठीक से काम करने के लिए, ज़रूरी OEM सपोर्ट उपलब्ध है.
मल्टी-विंडो डिसप्ले के तौर पर दिखने के लिए, अपने गेम को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, मल्टी-विंडो सपोर्ट जोड़ने के तरीके से जुड़ी गाइड देखें.
अलग-अलग तरह के इंटरैक्शन मॉडल को मैनेज करना
जब android:configChanges एट्रिब्यूट में keyboard और keyboardHidden वैल्यू शामिल की जाती हैं, तब आपका गेम कीबोर्ड की मौजूदगी और कीबोर्ड की उपलब्धता को मैन्युअल तरीके से हैंडल करता है. इन नई वैल्यू का इस्तेमाल करके, अपने गेम के प्राइमरी इनपुट
तरीके को अपडेट किया जा सकता है.
उपयोगकर्ता के अलग-अलग तरह के इनपुट को सपोर्ट करने के लिए, अपने गेम को कॉन्फ़िगर करते समय इन बातों का ध्यान रखें:
- अलग-अलग डिवाइसों के बजाय, इनपुट के तरीकों का पता लगाना. इस सोच से, किसी खास डिवाइस पर ज़्यादा ध्यान दिए बिना, खिलाड़ी के अनुभव को बेहतर बनाना आसान हो जाता है.
- कॉन्फ़िगरेशन में मैन्युअल तरीके से किए गए बदलावों की सूची में,
keyboardHiddenएट्रिब्यूट शामिल करें. इस तरह, आपका गेम यह ट्रैक कर सकता है कि कीबोर्ड को डिवाइस से कब जोड़ा गया था, लेकिन उसका इस्तेमाल नहीं किया जा सका. तय करें कि फ़िलहाल कौनसे इनपुट तरीके उपलब्ध हैं. इसके लिए, गेम शुरू होने पर और कॉन्फ़िगरेशन में हर बदलाव के बाद,
getInputDeviceIds()को कॉल करें.इनपुट के लिए इस्तेमाल किए जाने वाले डिवाइस के आधार पर, यह पता लगाया जा सकता है कि खिलाड़ी आपके गेम के साथ कैसे इंटरैक्ट करेगा:
- आम तौर पर, गेम खेलने वाले लोग बटन को तेज़ी से दबाने के लिए, कीबोर्ड या गेम कंट्रोलर का इस्तेमाल करते हैं.
- आम तौर पर, खिलाड़ी ज़्यादा मुश्किल जेस्चर करने के लिए टचस्क्रीन या टचपैड का इस्तेमाल करते हैं.
- आम तौर पर, खिलाड़ी ज़्यादा सटीक इनपुट देने के लिए माउस का इस्तेमाल करते हैं.
यहां दिए गए सेक्शन में, खास तरह के इनपुट डिवाइसों के लिए सबसे सही तरीके बताए गए हैं.
कीबोर्ड
अपने गेम के लिए कीबोर्ड लेआउट बनाते समय, इस बात का ध्यान रखें कि खिलाड़ी किसी सीन में कैसे नेविगेट करता है. साथ ही, यह भी ध्यान रखें कि वह आपके गेम की सेटिंग के साथ कैसे इंटरैक्ट करता है.
आम तौर पर, किरदार को कंट्रोल करने के लिए WASD बटन या ऐरो बटन सबसे सही होते हैं. इसके अलावा, यह भी सबसे अच्छा तरीका है कि आप हर ज़रूरी ऐक्शन या स्किल के लिए कोई खास बटन असाइन करें. इससे, कंट्रोल किए जा सकने वाले किरदार को गेम में ये ऐक्शन करने में आसानी होगी. खिलाड़ी के अनुभव को बेहतर बनाने के लिए, अपने गेम में कस्टम की बाइंडिंग की सुविधा जोड़ें.
खिलाड़ियों के पास कीबोर्ड का इस्तेमाल करके, आपके गेम के मेन्यू खोलने और उनमें नेविगेट करने का विकल्प भी होना चाहिए. Esc बटन को आम तौर पर, सीन को रोकने और गेम का मेन्यू दिखाने के लिए मैप किया जाता है.
अपने गेम में कीबोर्ड से इनपुट देने की सुविधा के बारे में ज़्यादा जानने के लिए, कीबोर्ड से नेविगेट करने की सुविधा चालू करने के तरीके से जुड़ी गाइड और कीबोर्ड से होने वाली कार्रवाइयों को मैनेज करने के तरीके से जुड़ी गाइड देखें.
गेम कंट्रोलर
अपने गेम में कंट्रोलर इनपुट को मैनेज करने के बारे में ज़्यादा जानने के लिए, गेम कंट्रोलर के साथ काम करने की सुविधा जोड़ने के तरीके से जुड़ी गाइड देखें.
माउस या टचपैड
अगर आपके गेम में माउस या टचपैड से प्लेयर इनपुट दिया जा सकता है, तो ध्यान रखें कि प्लेयर, आपके गेम के अलावा अन्य तरीकों से भी डिवाइस के साथ इंटरैक्ट करते हैं. यह जानना ज़रूरी है कि पॉइंटर कैप्चर करने का अनुरोध करने पर, माउस इनपुट आपके गेम पर रीडायरेक्ट हो जाता है. इसलिए, जब आपके गेम को ज़रूरी जानकारी मिल जाए, तो पॉइंटर कैप्चर को रिलीज़ कर दें. इससे खिलाड़ियों को अपने डिवाइस पर माउस का स्टैंडर्ड कंट्रोल वापस मिल जाएगा.
Android 8.0 (एपीआई लेवल 26) और इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, पॉइंटर कैप्चर करने की प्रोसेस में मदद पाने के लिए, MouseCapture API का इस्तेमाल किया जा सकता है. जिन गेम में सटीक इनपुट के हिसाब से कार्रवाई होती है उनमें getX() और getY() तरीकों को कॉल करके, पॉइंटर के मौजूदा निर्देशांक पाए जा सकते हैं.
अपने गेम में माउस इनपुट और टचपैड इनपुट की सुविधा जोड़ने के बारे में ज़्यादा जानने के लिए, टच और पॉइंटर के मूवमेंट को ट्रैक करने के तरीके से जुड़ी गाइड के साथ-साथ मल्टी-टच जेस्चर को मैनेज करने के तरीके से जुड़ी गाइड देखें.
अपने गेम को टेस्ट करें
गेम लॉन्च करने से पहले, यह जांच करें कि कॉन्फ़िगरेशन में किए गए बदलावों के हिसाब से गेम काम कर रहा है या नहीं. इसके लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं.
टेस्ट प्लान अपडेट करना
अपने गेम की सुविधाओं की पुष्टि करते समय, इन टेस्ट केस को शामिल करें:
- गेम वाली विंडो को छोटा और बड़ा करें. (अगर आपका गेम हमेशा फ़ुलस्क्रीन मोड में रहता है, तो यह लागू नहीं होता.)
- स्क्रीन का साइज़ बदलें.
- स्क्रीन का ओरिएंटेशन बदलें. (अगर आपके गेम का ओरिएंटेशन तय है, तो यह लागू नहीं होता.)
- कीबोर्ड और माउस जैसे इनपुट डिवाइसों को कनेक्ट और डिसकनेक्ट करें.
- अगर आपका गेम, दो या इससे ज़्यादा ऐप्लिकेशन का एक साथ इस्तेमाल करने की सुविधा के साथ काम करता है, तो इस सुविधा का इस्तेमाल करें.
इसके अलावा, अपने गेम की क्वालिटी कंट्रोल सिस्टम को अपडेट करें, ताकि आप खिलाड़ियों को बेहतर अनुभव दे सकें.
अपने गेम की टेस्टिंग से जुड़े सबसे सही तरीके जानने के लिए, टेस्टिंग की बुनियादी बातों से जुड़ी गाइड देखें.
टेस्टिंग और डीबग करने वाले टूल का इस्तेमाल करना
इस प्लैटफ़ॉर्म पर काम करने वाले अलग-अलग टूल का इस्तेमाल करके, टेस्ट किए जा सकते हैं:
एम्युलेटर, जिनमें Android एम्युलेटर और Firebase टेस्ट लैब शामिल हैं.
ChromeOS परफ़ॉर्मेंस ऐनललाइज़र, ChromeOS M75 या इसके बाद के वर्शन पर उपलब्ध है.