1. परिचय

पिछला अपडेट: 18-10-2022
Google Play Games on PC के लिए, गेम को कैसे तैयार किया जाता है?
Google Play Games की मदद से, अपने मोबाइल गेम को Windows पीसी पर आसानी से उपलब्ध कराया जा सकता है. इसका मतलब है कि आपको अपने गेम के आर्किटेक्चर या कारोबार के मॉडल को फिर से डिज़ाइन करने की ज़रूरत नहीं है. इसके बावजूद, खिलाड़ियों की दिलचस्पी और अपने दर्शकों की संख्या बढ़ाई जा सकती है. हालांकि, आपको अब भी कुछ बदलाव करने होंगे, ताकि पीसी पर गेम खेलने वाले नए लोगों को बेहतरीन अनुभव मिल सके.
आपको क्या सीखने को मिलेगा
इस कोडलैब में, ज़रूरी शर्तों की चेकलिस्ट के बुनियादी हिस्सों के बारे में बताया गया है. इससे आपको अपना गेम लॉन्च करने में मदद मिलेगी. साथ ही, Google Play Games on PC के लिए अपना Unity गेम तैयार करने में भी मदद मिलेगी. ज़्यादा बेहतर इंटिग्रेशन, जैसे कि Play Games में साइन-इन करने की सुविधा और Play Integrity API, इसमें शामिल नहीं हैं.
- Unity से x86 आर्किटेक्चर के लिए ऐप्लिकेशन बनाने का तरीका.
- Google Play Games के एम्युलेटर पर टेस्ट करने और डिप्लॉय करने का तरीका.
- अपने यूज़र इंटरफ़ेस में बदलाव करके, उसे पीसी पर बेहतर तरीके से दिखाने का तरीका.
- यह पता लगाने का तरीका कि आपका गेम, Google Play Games के एम्युलेटर में चल रहा है या नहीं. साथ ही, इसके हिसाब से अपने गेम में बदलाव करने का तरीका.
आपको इन चीज़ों की ज़रूरत होगी
- Unity 2020 LTS इंस्टॉल करें. इस कोडलैब को 2020.3.30f1 के साथ बनाया गया था.
- Google Play Games एम्युलेटर.
2. सेट अप करें
कोई प्रोजेक्ट खोलें या नया प्रोजेक्ट बनाएं
- 2D प्लैटफ़ॉर्मर माइक्रोगেম का इस्तेमाल करके कोई नया प्रोजेक्ट बनाएं या अपना कोई प्रोजेक्ट खोलें.

- प्रोजेक्ट में जाकर, File -> Build Settings को चुनें. इसके बाद, यह देखें कि Android के लिए बिल्ड करने की सुविधा सेट अप की गई हो.

3. Google Play Games के एम्युलेटर को तैयार करना
सबसे पहले, एम्युलेटर डाउनलोड करें.
इसे इंस्टॉल करने के बाद, आपको एक विंडो में Android डेस्कटॉप दिखेगा:

यह Android का एक ऐसा एनवायरमेंट है जिसमें सभी सुविधाएं मौजूद हैं और जिसकी परफ़ॉर्मेंस काफ़ी बढ़िया है. यह गेम डेवलपमेंट के लिए सही है. यह Android Debug Bridge (adb) में, localhost पर मौजूद डिवाइस के तौर पर दिखना चाहिए:
❯ adb devices List of devices attached localhost:6520 device
एम्युलेटर का पता लगाने के लिए, आपके पास adb का नया वर्शन होना चाहिए. Android Studio के साथ बंडल किया गया वर्शन काम करता है. हालांकि, Unity के साथ शिप किया गया adb काम नहीं कर सकता. एम्युलेटर के साथ काम करने वाला वर्शन बंडल किया गया है. इसे C:\Program Files\Google\Play Games Developer Emulator\current\emulator पर देखा जा सकता है. डेवलपर को बेहतर अनुभव देने के लिए, Android Studio इंस्टॉल करें और इसका इस्तेमाल करके, Android SDK मैनेज करें.
अगर एम्युलेटर, adb से डिसकनेक्ट हो जाता है, तो उसे कमांड लाइन से इस तरह फिर से कनेक्ट करें:
adb connect localhost:6520
4. एम्युलेटर पर सीधे तौर पर बनाने और डिप्लॉय करने के लिए, Unity को कॉन्फ़िगर करना (ज़रूरी नहीं)
ऐसा हो सकता है कि Unity के साथ शिप किया गया adb का वर्शन, एम्युलेटर के साथ काम न करे. यह पक्का करने के लिए, फ़ाइल -> बिल्ड सेटिंग चुनें. इसके बाद, डिवाइस चलाएं डायलॉग बॉक्स में देखें कि डिवाइस सूची में शामिल है या नहीं.

अपने प्रोजेक्ट, बिल्ड प्रोसेस, और ज़रूरत के हिसाब से, आपके पास यह विकल्प होता है कि Unity को सीधे तौर पर Google Play Games Emulator पर डिप्लॉय करने के लिए कॉन्फ़िगर करें या APK बनाएं और उसे adb install की मदद से मैन्युअल तरीके से डिप्लॉय करें. इसे मैन्युअल तरीके से डिप्लॉय करने के लिए, सबसे कम बदलाव करने पड़ते हैं. हालांकि, इससे आपके इटरेशन साइकल की स्पीड कम हो सकती है.
इन दो चरणों को पूरा करके, सीधे तौर पर एम्युलेटर पर डिप्लॉय करें:
- Unity को कॉन्फ़िगर करें, ताकि वह किसी दूसरे Unity SDK का इस्तेमाल कर सके. हमारा सुझाव है कि आप Android Studio से इंस्टॉल किए गए SDK का इस्तेमाल करें.
- Unity में मौजूद गड़बड़ी को ठीक करने के लिए, Build Tools के वर्शन को अपडेट करें.
Unity के साथ शिप किया गया Android SDK टूल का वर्शन, शायद एम्युलेटर का पता न लगा पाए. इसलिए, Android Studio का इस्तेमाल करके, SDK टूल का नया वर्शन इंस्टॉल करें.
- Android Studio खोलें और Edit -> Preferences -> External Tools को चुनें.
Android SDK Tools Installed with Unityसे सही का निशान हटाएं और Android Studio के इंस्टॉलेशन का पाथ डालें. आम तौर पर, यहAppData/Local/Android/sdkहोता है.Android NDKविकल्प को ऐसे ही छोड़ दें.

कनेक्ट किए गए डिवाइसों को रीफ़्रेश करने पर, आपको बिल्ड विंडो में Google HPE device (localhost:6520) दिखेगा:

इस बग की स्थिति और Unity के वर्शन के आधार पर, आपको अपने बिल्ड टूल का वर्शन भी बदलना पड़ सकता है. इसके लिए, पक्का करें कि mainTemplate.gradle और launcherTemplate.gradle जनरेट किए जा रहे हों.
- प्रोजेक्ट सेटिंग विंडो में जाकर प्लेयर सेटिंग खोलें और
Publishing Settingsसेक्शन ढूंढें. - नीचे की ओर स्क्रोल करके, बिल्ड के विकल्पों पर जाएं. इसके बाद, "कस्टम मेन ग्रैडल टेंप्लेट" और "कस्टम लॉन्चर ग्रैडल टेंप्लेट" को चुनें. इससे
Assets\Plugins\Android\में दोनों ग्रैडल फ़ाइलें जनरेट हो जाएंगी.

- स्ट्रिंग
**BUILDTOOLS**के किसी भी इंस्टेंस को30.0.0से बदलें. अब दोनों फ़ाइलों में, कोड का यह सेक्शन दिखना चाहिए:
android {
compileSdkVersion **APIVERSION**
buildToolsVersion '30.0.0'
5. Chromebook पर डिप्लॉय करना (ज़रूरी नहीं)
ChromeOS डिवाइस का इस्तेमाल करके, Google Play Games Emulator का ऐक्सेस न होने पर भी, Google Play Games के लिए गेम डेवलप किए जा सकते हैं. Google Play Games on PC की तरह ही, Chromebook में कीबोर्ड और माउस होते हैं. साथ ही, इनमें बड़ी स्क्रीन होती है और ये x86 कॉन्फ़िगरेशन में उपलब्ध होते हैं. हम Chromebook के साथ Android Logcat Unity प्लगिन का इस्तेमाल करेंगे..
- Package Manager खोलें और
Unity Registryमें जाकरAndroid Logcatखोजें.

आपको Android डेवलपमेंट के लिए, अपने Chromebook को कॉन्फ़िगर भी करना होगा. सबसे पहले, Linux चालू करें.
- सेटिंग -> डेवलपर -> Linux को चुनें.

इसके बाद, ADB डीबग करने की सुविधा चालू करें.
- सेटिंग -> डेवलपर -> Linux डेवलपमेंट एनवायरमेंट -> Android ऐप्लिकेशन डेवलप करें -> ADB डीबगिंग चालू करें को चुनें.

आपको अपने Chromebook का आईपी पता भी चाहिए होगा. इसके लिए, सबसे आसान तरीका यह है कि
- अपने Chromebook का आईपी पता पाने के लिए, नेटवर्क की जानकारी आइकॉन पर क्लिक करें.


- Android Logcat विंडो खोलने के लिए, Window -> Analysis -> Android Logcat चुनें.

- डिवाइसों की सूची खोलें. अगर फ़िलहाल कोई डिवाइस कनेक्ट नहीं है, तो हो सकता है कि आपको
No Deviceदिखे.

- कनेक्ट करने के अन्य विकल्प पर क्लिक करें और अपने Chromebook का आईपी पता डालें.

- कनेक्ट करें पर क्लिक करें. आपको Success विंडो दिखेगी:

अब आपका Chromebook, Unity की 'डिवाइस चलाएं' सूची में दिखेगा. हालांकि, इसके लिए आपको पहले स्क्रीन को रीफ़्रेश करना पड़ सकता है:

अब अपने Chromebook पर गेम डिप्लॉय किए जा सकते हैं. साथ ही, पीसी जैसे हार्डवेयर पर गेम की टेस्टिंग और डेवलपमेंट शुरू किया जा सकता है.
6. टेस्टिंग वर्शन डिप्लॉय करना
Google Play Games के लिए, आपको अपने गेम का x86 वर्शन डिप्लॉय करना होगा. इससे, डेस्कटॉप पीसी पर परफ़ॉर्मेंस के बेंचमार्क हासिल करने में मदद मिलती है. Unity के सभी एलटीएस वैरिएंट, x86 और x86-64 के साथ काम करने वाले Android बिल्ड जनरेट कर सकते हैं. इन्हें "Chrome OS" के तौर पर लेबल किया जाता है. साथ ही, Unity 2018 और इससे पहले के वर्शन, x86 बिल्ड जनरेट कर सकते हैं. इन आर्किटेक्चर को अनलॉक करने के लिए, आपको पहले IL2CPP स्क्रिप्टिंग बैकएंड पर स्विच करना होगा. ऐसा हो सकता है कि आपने arm64 सपोर्ट के लिए, प्रोडक्शन में पहले से ही ऐसा किया हो.
- Build Settings विंडो खोलने के लिए, File -> Build Settings को चुनें. इसके बाद, Player Settings पर क्लिक करें.

- अन्य सेटिंग सेक्शन पर जाएं और
Scripting BackendकोIL2CPPपर स्विच करें.

आपको x86 या x86-64 के साथ काम करने की सुविधा भी चालू करनी होगी. Google Play Games प्लैटफ़ॉर्म पर गेम उपलब्ध कराने के लिए, आपको सिर्फ़ x86 आर्किटेक्चर के साथ काम करने वाले वर्शन की ज़रूरत होती है. हालांकि, हमारा सुझाव है कि आप x86-64 आर्किटेक्चर के साथ काम करने वाला वर्शन उपलब्ध कराएं.

Unity के साथ बंडल की गई फ़्रेम पेसिंग लाइब्रेरी का वर्शन भी Google Play Games के साथ काम नहीं करता. इस वजह से, गेम लॉन्च होने पर क्रैश हो जाता है.
- Player Settings विंडो से फ़्रेम पेसिंग की सुविधा बंद करने के लिए, Resolution and Presentation सेक्शन खोलें. इसके बाद, Optimized Frame Pacing से सही का निशान हटाएं.

अब आप ऐप्लिकेशन बनाना शुरू कर सकते हैं!
- Build Settings विंडो को फिर से खोलें और Build And Run पर क्लिक करें. आपका गेम, एम्युलेटर विंडो में दिखता है.

अगर आपको गेम डिप्लॉय करने में समस्या आ रही है, तो देखें कि "Google HPE device (localhost:6520)" आपके "Run Device" की सूची में दिखता है या नहीं. अगर यह मौजूद नहीं है, तो पक्का करें कि HPE_Dev चल रहा हो और आपको Android की होम स्क्रीन दिख रही हो. अगर अब भी यह आपके डिवाइस की सूची में नहीं दिख रहा है, तो adb connect localhost:6520 को उसी adb.exe के साथ चलाएं जिसका इस्तेमाल किया जा रहा है. अगर Android Logcat Unity प्लगिन का इस्तेमाल किया जाता है, तो Tools -> Open Terminal को चुनें. इससे, उस डायरेक्ट्री के लिए एक टर्मिनल खुलेगा जिसका इस्तेमाल adb.exe Unity कर रहा है.
Open Terminal" highlighted" style="width: 624.00px" src="img/9101ce3c95fb1aa2.png" srcset="img/9101ce3c95fb1aa2_36.png 36w, img/9101ce3c95fb1aa2_48.png 48w, img/9101ce3c95fb1aa2_72.png 72w, img/9101ce3c95fb1aa2_96.png 96w, img/9101ce3c95fb1aa2_480.png 480w, img/9101ce3c95fb1aa2_720.png 720w, img/9101ce3c95fb1aa2_856.png 856w, img/9101ce3c95fb1aa2_960.png 960w, img/9101ce3c95fb1aa2_1440.png 1440w, img/9101ce3c95fb1aa2_1920.png 1920w, img/9101ce3c95fb1aa2_2880.png 2880w" sizes="(max-width: 840px) 100vw, 856px">
7. अपने गेम को पीसी के हिसाब से ढालना
जब भी मुमकिन हो, तो प्लैटफ़ॉर्म से जुड़ी मेट्रिक या कुछ सुविधाओं की मौजूदगी के आधार पर, अपने गेम में बदलाव करें. उदाहरण के लिए, Android पर कोई खिलाड़ी माउस और कीबोर्ड कनेक्ट कर सकता है या मॉनिटर प्लग इन कर सकता है. इसलिए, डिवाइस के कॉन्फ़िगरेशन के हिसाब से कंट्रोल स्कीम या एचयूडी एलिमेंट में बदलाव करने से, Google Play Games on PC को उन सभी प्लैटफ़ॉर्म पर इस्तेमाल किया जा सकता है जिन पर यह काम करता है.
अगर आपको Google Play Games या ChromeOS में प्लेयर की मौजूदगी के आधार पर लॉजिक बदलना है, तो यह स्क्रिप्ट आपको HPE_EXPERIENCE सिस्टम फ़ीचर की जांच करके, इसका पता लगाने में मदद करती है:
using UnityEngine;
public class GoogleDeviceUtilities
{
#if UNITY_ANDROID && !UNITY_EDITOR
private static AndroidJavaObject PackageManager
{
get
{
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
return currentActivity.Call<AndroidJavaObject>("getPackageManager");
}
}
public static bool IsChromeOS => PackageManager.Call<bool>("hasSystemFeature", "org.chromium.arc");
public static bool IsGooglePlayGames =>
PackageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
public static bool HasKeyboard
{
get
{
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var resources = currentActivity.Call<AndroidJavaObject>("getResources");
var configuration = resources.Call<AndroidJavaObject>("getConfiguration");
var keyboard = configuration.Get<int>("keyboard");
return keyboard == 2; // Configuration.KEYBOARD_QWERTY
}
}
#else
public static bool IsChromeOS => false;
public static bool IsGooglePlayGames => false;
public static bool HasKeyboard => true;
#endif
}
पीसी में, Android फ़ोन की तुलना में बड़ा डिसप्ले होता है. हमारा सुझाव है कि अगर हो सके, तो आपका एचयूडी स्क्रीन के 20% से ज़्यादा हिस्से पर न हो. कई मोबाइल गेम में "स्क्रीन के साइज़ के हिसाब से स्केल करें" सेटिंग का इस्तेमाल किया जाता है. इसलिए, इसे "फ़िज़िकल साइज़ को स्थिर रखें" या "पिक्सल के साइज़ को स्थिर रखें" पर सेट करना, इस लक्ष्य को हासिल करने की दिशा में पहला कदम हो सकता है.

अगर आपको पता चलता है कि आपका गेम Google Play Games पर चल रहा है, तो रनटाइम के दौरान QualitySettings.SetQualityLevel कमांड का इस्तेमाल करके, क्वालिटी सेटिंग को डाइनैमिक तौर पर सेट किया जा सकता है. Google Play Games का एम्युलेटर, OpenGL Unity से निकलने वाले नेटिव DirectX या Vulkan कमांड जारी करने के लिए ANGLE का इस्तेमाल करता है. इसलिए, आपको मोबाइल गेम बिल्ड पर उपलब्ध ग्राफ़िक्स की तुलना में बेहतर ग्राफ़िक्स मिल सकते हैं.
8. इनपुट हैंडलिंग
Google Play Games पर शिप किए जाने वाले गेम, माउस और कीबोर्ड के इनपुट के हिसाब से बनाए जाने चाहिए. आपको यह तय करना होगा कि माउस और कीबोर्ड से गेम में कैसे इंटरैक्ट किया जाए. इसलिए, अभी Input SDK unitypackage हासिल करें. अगर आपको उस पेज पर डाउनलोड नहीं दिखता है, तो पक्का करें कि आपने play-mp-libs ग्रुप के किसी खाते से साइन इन किया हो.
टेस्टिंग के लिए, कई गेम एडिटर में डेवलपमेंट के लिए माउस और कीबोर्ड के बेसिक कंट्रोल बनाते हैं. जब भी मुमकिन हो, ChromeOS डिवाइस या Google Play Games एम्युलेटर पर गेम चलाते समय, इन सुविधाओं को चालू करें.
डिफ़ॉल्ट रूप से, Google Play Games और ChromeOS, माउस के इनपुट को सिम्युलेटेड टच में बदल देते हैं. Input.GetTouch और Input.touchCount का इस्तेमाल करने पर, आपका गेम उम्मीद के मुताबिक काम करता रहेगा. अगर आपको मल्टी-टच इनपुट का इस्तेमाल करना है, जैसे कि दो अंगूठे से कंट्रोल करना या पिंच करके ज़ूम करना, तो आपको कार्रवाई को बटन दबाने के लिए मैप करना होगा. आपको गेम में की जाने वाली कार्रवाइयों को भी कीबोर्ड के बटन के साथ मैप करना चाहिए. जैसे, इन्वेंट्री खोलने के लिए i दबाना, डायलॉग बॉक्स बंद करने के लिए escape दबाना, और गेम में मैसेज भेजने के लिए enter दबाना.
2D प्लैटफ़ॉर्मर माइक्रोगেম में, ऐरो बटन का इस्तेमाल करके कैरेक्टर को इधर-उधर ले जाया जाता है. साथ ही, स्पेस बटन का इस्तेमाल करके कैरेक्टर को कूदाया जाता है. अगर आपको अपने गेम का इस्तेमाल करना है, तो पक्का करें कि अगले चरण के लिए, आपके पास अपनी पसंद की की-बाइंडिंग हों.
9. इनपुट एसडीके टूल इंटिग्रेशन
माउस और कीबोर्ड कंट्रोल सेट अप करने के बाद, आपको Input SDK की सुविधा जोड़नी होगी. इससे खिलाड़ियों को पीसी पर इस्तेमाल किए जाने वाले इनपुट के बारे में आसानी से पता चलता है. इसके लिए, एक पॉपओवर दिखता है:
- एसडीके को अपने प्रोजेक्ट में इंपोर्ट करने के बाद,
InputMappingProviderBehaviour.csनाम की फ़ाइल बनाएं और इसमें यह कॉन्टेंट जोड़ें:
using System.Collections.Generic;
using Google.Play.InputMapping;
using UnityEngine;
using Input = Google.Play.InputMapping.Input;
public class InputMappingProviderBehaviour : MonoBehaviour
{
private void Start()
{
Input.GetInputMappingClient().RegisterInputMappingProvider(new MyInputMappingProvider());
}
private class MyInputMappingProvider : InputMappingProvider
{
public InputMap OnProvideInputMap()
{
return new InputMap
{
InputGroups = new List<InputGroup> { },
MouseSettings = new MouseSettings
{
InvertMouseMovement = false,
AllowMouseSensitivityAdjustment = false
}
};
}
}
private enum ActionIds
{
}
}
- अब
ActionIdsमें, गेम में इस्तेमाल की जा रही कार्रवाइयों की सूची डालें. 2D प्लैटफ़ॉर्मर माइक्रोगেম के लिए, ऐक्शन ये हैं: बाईं ओर, दाईं ओर, और कूदना:
private enum ActionIds
{
Left,
Right,
Jump
}
OnProvideInputMapमें, हर कार्रवाई के लिए एकInputActionबनाएं. इसके लिए, आपको कार्रवाई का नाम, इनपुट, और फिर माउस बटन या कीकोड की ज़रूरत होगी, जिन्हें इससे बाइंड किया जाएगा. सैंपल गेम के लिए:
var leftAction = new InputAction
{
ActionLabel = "Walk Left",
UniqueId = (int)ActionIds.Left,
InputControls = new InputControls
{
AndroidKeycodes = new[]
{
AndroidKeyCode.KEYCODE_DPAD_LEFT
}
}
};
var rightAction = new InputAction
{
ActionLabel = "Walk Right",
UniqueId = (int)ActionIds.Right,
InputControls = new InputControls
{
AndroidKeycodes = new[]
{
AndroidKeyCode.KEYCODE_DPAD_RIGHT
}
}
};
var jumpAction = new InputAction
{
ActionLabel = "Jump",
UniqueId = (int)ActionIds.Jump,
InputControls = new InputControls
{
AndroidKeycodes = new[]
{
AndroidKeyCode.KEYCODE_SPACE
}
}
};
- इसके बाद, इन इनपुट कार्रवाइयों को ग्रुप में रखें.
माइक्रोगेम के लिए, हमारे पास सिर्फ़ एक ग्रुप है. हालांकि, अपने खिलाड़ियों को उनकी ज़रूरत के हिसाब से कार्रवाइयां ढूंढने में मदद करने के लिए, जितने चाहें उतने ग्रुप बनाए जा सकते हैं. इसे OnProvideInputMap में जोड़ें:
var movementInputGroup = new InputGroup
{
GroupLabel = "Movement",
InputActions = new List<InputAction>
{
leftAction, rightAction, jumpAction
}
};
- आपने जो भी इनपुट ग्रुप बनाए हैं उन्हें इनपुट मैप में जोड़ें.
OnProvideInputMapमें, सामान लौटाने के बारे में दिए गए स्टेटमेंट में बदलाव करके इसे इस तरह पढ़ें:
return new InputMap
{
InputGroups = new List<InputGroup> { movementInputGroup },
MouseSettings = new MouseSettings
{
InvertMouseMovement = false,
AllowMouseSensitivityAdjustment = false
}
};
- आखिर में, बनाई गई स्क्रिप्ट को अपने गेम में जोड़ें:

- गेम को फिर से डिप्लॉय करने के बाद, इन-गेम ओवरले खोलने के लिए � को दबाएं.
Shift+Tab

- कॉन्फ़िगर किए गए कंट्रोल देखने के लिए, कंट्रोल पर क्लिक करें.

10. एम्बेड किए गए वेब व्यू हटाना
अपने खिलाड़ियों को बेहतरीन अनुभव देने के लिए, आपको एंबेड किए गए वेब व्यू हटाने चाहिए. आम तौर पर, एम्बेड किए गए वेब व्यू का इस्तेमाल, निजता नीति या सेवा की शर्तों जैसे आइटम दिखाने के लिए किया जाता है. ये Google Play Games में काम करते हैं. हालांकि, ये प्लेयर के पसंदीदा डेस्कटॉप ब्राउज़र के बजाय, एम्बेड किए गए "मोबाइल" ब्राउज़र में दिखते हैं. इससे पीसी पर गेम खेलने वाले लोगों को कुछ समस्याएं हो सकती हैं. इसलिए, Unity में अगर एम्बेड किए गए ब्राउज़र को दिखाने के लिए किसी एक्सटेंशन का इस्तेमाल किया जा रहा है, तो Application.OpenURL(url) पर वापस जाएं.
11. अनुमतियां और सुविधाएं
Google Play Games में, Android की कई सुविधाएँ और अनुमतियाँ काम नहीं करती हैं. सामान्य नियम यह है कि आपके पीसी बिल्ड में अनुमति का डायलॉग कभी नहीं दिखना चाहिए. अब जब आपका बिल्ड तैयार है, तो आपको एक नया इंस्टॉलेशन करना चाहिए. साथ ही, गेम सबमिट करने के लिए, "todo" सूची में जोड़ने के लिए, आपको दिखने वाले किसी भी डायलॉग को लिख लेना चाहिए.
कुछ Unity गेम, Android.Permission API का इस्तेमाल करके अनुमतियां मांगते हैं. आपको इन्हें if (GoogleDeviceUtilities.IsGooglePlayGames) जांचों में रैप करना चाहिए. साथ ही, अगर लागू हो, तो सीधे तौर पर गड़बड़ी की वजह जानने के लिए लॉजिक पर जाना चाहिए.
12. डेस्कटॉप ऑप्टिमाइज़ेशन
Google Play Games, सामान्य Android फ़ोन से कुछ मामलों में अलग होता है. इसलिए, आपको अपने गेम को इसके हिसाब से कॉन्फ़िगर करना पड़ सकता है.
टेक्सचर कंप्रेस करने के लिए, DXT पर स्विच करें. अगर Android के सामान्य टेक्सचर फ़ॉर्मैट, जैसे कि ETC को सीधे तौर पर प्लेयर के जीपीयू में नहीं भेजा जा सकता, तो उन्हें रनटाइम के दौरान मेमोरी में डिकोड किया जाता है. ASTC, डेस्कटॉप के साथ सबसे अच्छी तरह से काम करता है. हालांकि, आपको डेस्कटॉप जीपीयू प्रोफ़ाइलिंग टूल का इस्तेमाल करना होगा, ताकि यह पुष्टि की जा सके कि आपका गेम उम्मीद के मुताबिक काम कर रहा है या नहीं.

अब डेस्कटॉप जीपीयू का इस्तेमाल किया जा रहा है. इसलिए, ग्राफ़िक्स की क्वालिटी को भी बढ़ाया जा सकता है. क्वालिटी में जाकर, प्रोजेक्ट सेटिंग में सीधे तौर पर इसमें बदलाव किया जा सकता है

13. बधाई हो
Google Play Games के लिए गेम बनाने से जुड़ी सभी ज़रूरी चीज़ें आपके पास मौजूद हैं. अब अपने गेम की टेस्टिंग शुरू की जा सकती है और उसमें बदलाव किए जा सकते हैं. ध्यान रखें कि आपके पास एक ही कोड बेस रखने का विकल्प होता है. हालांकि, आपको अपने गेम को इस तरह से अडैप्ट करना होगा कि वह पीसी पर नेटिव गेम की तरह लगे.
आगे क्या करना है?
Google Play Games पर गेम लॉन्च करने के लिए, आपको ये काम करने होंगे:
- नई जानकारी के लिए, क्विकस्टार्ट देखें.
- Play Games Services Sign In v2 पर अपग्रेड करें, ताकि गेम लॉन्च होने पर खिलाड़ी अपने-आप लॉग इन हो जाए. इससे गेम जारी रखने से जुड़ी ज़रूरी शर्तों को पूरा करने में मदद मिलती है.
- Play Integrity API लागू करें, ताकि पीसी पर भी आपको मोबाइल की तरह सुरक्षित अनुभव मिल सके.
आखिर में, Google Play Games के साथ काम करने के लिए अब तक किए गए ज़्यादातर काम से, आपको ChromeOS पर गेम लॉन्च करने में भी मदद मिलती है. इसलिए, आपको पीसी के साथ-साथ इस प्लैटफ़ॉर्म के लिए भी गेम लॉन्च करने पर विचार करना चाहिए.