प्रोजेक्ट के बारे में जानकारी दी गई है. इसमें एसडीके डाउनलोड करने से लेकर, उसे शुरू करने और बिल्ड कॉन्फ़िगरेशन तक के चरण शामिल हैं. keywords_public: Google Play Games on PC, Unity, एसडीके इंटिग्रेशन, नेटिव पीसी, गेम डेवलपमेंट, IL2CPP, मेनिफ़ेस्ट, Play Games on PC Unity SDK
इस गाइड में, Google Play Games PC SDK को अपने Unity प्रोजेक्ट में इंटिग्रेट करने के सिलसिलेवार निर्देश दिए गए हैं.
पहला चरण: एसडीके डाउनलोड करना
डाउनलोड लिंक का इस्तेमाल करके, Unity पैकेज का सबसे नया वर्शन डाउनलोड करें.
डाउनलोड करें: Play Games PC Unity SDK
दूसरा चरण: पैकेज इंपोर्ट करना
एसडीके को Unity Package Manager (UPM) के साथ काम करने वाली टार फ़ाइल के तौर पर डिस्ट्रिब्यूट किया जाता है. ज़्यादा जानकारी के लिए, लोकल टार फ़ाइल से UPM पैकेज इंस्टॉल करना लेख पढ़ें
तीसरा चरण: बिल्ड सेटिंग कॉन्फ़िगर करना
यह पुष्टि करने के लिए कि नेटिव लाइब्रेरी सही तरीके से लोड हो रही हैं, आपको अपने प्रोजेक्ट को कॉन्फ़िगर करना होगा. इसके लिए, IL2CPP स्क्रिप्टिंग बैकएंड का इस्तेमाल करें और सही आर्किटेक्चर को टारगेट करें.
प्लैटफ़ॉर्म के तौर पर Windows का इस्तेमाल करके, बिल्ड प्रोफ़ाइल बनाएं.
प्लैटफ़ॉर्म की सेटिंग में जाकर, Windows को चुनें. आर्किटेक्चर के लिए, इन विकल्पों का इस्तेमाल करें:
- Intel 64-bit (सुझाया गया)
- Intel 32-bit
ध्यान दें: Google Play Games on PC प्लैटफ़ॉर्म, 64-बिट एनवायरमेंट पर काम करता है. अपने गेम को 32-बिट (x86) या 64-बिट (x64) के तौर पर बनाया जा सकता है.
Scripting Backend को IL2CPP पर सेट करें. ज़्यादा जानकारी के लिए, IL2CPP की मदद से प्रोजेक्ट बनाना लेख पढ़ें.
- एपीआई के साथ काम करने वाले वर्शन का लेवल को .NET Standard 2.0 (या .NET Framework) पर सेट करें.
चौथा चरण: ऐप्लिकेशन मेनिफ़ेस्ट बनाना
एसडीके का इस्तेमाल अपने गेम में करने से पहले, आपको अपने गेम के एक्ज़ीक्यूटेबल को उस Play पैकेज के नाम से असोसिएट करना होगा जिस पर आपने Play Console में दावा किया था. इसके लिए, आपको अपने गेम के एक्ज़ीक्यूटेबल फ़ाइल वाली डायरेक्ट्री में manifest.xml फ़ाइल जोड़नी होगी.
ध्यान दें: यह एक मैन्युअल चरण है, जिसे पूरा करना ज़रूरी है.
- गेम की एक्ज़ीक्यूटेबल फ़ाइल बनाने के लिए, File > Build and
Run को चुनें या
Ctrl+Bपर क्लिक करें. - टेक्स्ट एडिटर खोलें और
manifest.xmlनाम की नई फ़ाइल बनाएं. यहां दिए गए एक्सएमएल कोड को कॉपी करके फ़ाइल में चिपकाएं:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
फ़ाइल को
manifest.xmlके तौर पर सेव करें.इस फ़ाइल को उसी फ़ोल्डर में ले जाएं जिसमें गेम की एक्ज़ीक्यूटेबल फ़ाइल मौजूद है.
उदाहरण: अगर आपका गेम
Builds/MyGame.exeपर है, तो मेनिफ़ेस्टBuilds/manifest.xmlपर होना चाहिए.
ध्यान दें: अगर आपको Unity Editor में डेवलपमेंट के दौरान पीसी एसडीके का इस्तेमाल करना है, तो आपको अपने गेम के एक्ज़ीक्यूटेबल पर डिजिटल हस्ताक्षर करने या उसे Google Play Games से लॉन्च करने की ज़रूरत नहीं है. मेनिफ़ेस्ट कॉन्फ़िगरेशन के बारे में ज़्यादा जानकारी के लिए, डेवलपर मोड सेटअप करने की गाइड देखें.
पांचवां चरण: एसडीके को शुरू करना
बिलिंग या इंटिग्रिटी जैसी किसी भी सुविधा को ऐक्सेस करने से पहले, आपको एसडीके को शुरू करना होगा. PlayPcSdkFactory का इस्तेमाल करके, कनेक्शन शुरू करने के लिए हैंडलर बनाएं.
एक नई C# स्क्रिप्ट बनाएं. उदाहरण के लिए, SdkInitialization.cs. इसके बाद, यह कोड जोड़ें:
using UnityEngine; using System; using System.Threading.Tasks; // Import the SDK namespaces using PlayPcSdkManaged.Initialization; using PlayPcSdkManaged.Unity; public class GooglePlayPCSDKInit : MonoBehaviour { // Prevent double-initialization if this script is reloaded private static bool _isInitialized = false; private void Start() { // Use the "Safe Runner" pattern to fire the async method _ = InitializeSdkAsync(); } private async Task InitializeSdkAsync() { if (_isInitialized) { Debug.LogWarning("Google Play PC SDK is already initialized. Skipping."); return; } try { Debug.Log("Initializing Google Play PC SDK..."); // 1. Get the Unity-specific initialization handler from the factory var initHandler = PlayPcSdkFactory.InitializationHandler; // 2. Call InitializeAsync to start the connection var result = await GooglePlayInitialization.InitializeAsync(initHandler); // 3. Check the result if (result.IsOk) { _isInitialized = true; Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>"); // You can now create BillingClient or IntegrityClient instances } else { Debug.LogError($"<color=red>Initialization Failed!</color>"); Debug.LogError($"Error Code: {result.Code}"); Debug.LogError($"Message: {result.ErrorMessage}"); } } catch (Exception ex) { // Catch unexpected crashes or task failures Debug.LogError($"Exception during initialization: {ex.Message}"); Debug.LogException(ex); } } }
इस स्क्रिप्ट को अपने पहले सीन में मौजूद GameObject से अटैच करें. गेम चलाने के दौरान, Console में "SDK Initialized Successfully!" मैसेज देखें.
छठा चरण: पीसी पर नेटिव गेम इंस्टॉल करने के बाद, उन्हें अपने-आप चलने की सुविधा चालू करना
Google Play Games on PC (GPG) की मदद से डेवलपर, "अपने-आप चलने" वाली सुविधा चालू कर सकते हैं. इससे गेम इंस्टॉल होने के तुरंत बाद अपने-आप लॉन्च हो जाता है. इस सुविधा से, उपयोगकर्ता को बेहतर अनुभव मिलता है. इससे, खिलाड़ी को सीधे गेम में ले जाया जाता है. साथ ही, GPG के नेटवर्क में उसकी पूरी तरह से पुष्टि की जाती है.
यह कैसे काम करता है
इस सुविधा को चालू करने पर, GPG, कमांड-लाइन आर्ग्युमेंट के ज़रिए तीसरे पक्ष (3P) के इंस्टॉलर प्रोसेस को GPG सेशन टोकन पास करेगा. इसके बाद, आपके इंस्टॉलर की यह ज़िम्मेदारी होती है कि वह इस टोकन को निकाले और इसका इस्तेमाल, पुष्टि किए गए कॉन्टेक्स्ट में गेम को लॉन्च करने के लिए करे.
ज़रूरी शर्तें
इस सुविधा का इस्तेमाल करने के लिए, यह ज़रूरी है कि आपका 3P इंस्टॉलर, कमांड-लाइन आर्ग्युमेंट को मैनेज कर सके.
लागू करने के चरण
पब्लिशिंग कॉन्फ़िगरेशन में ऑटो-प्ले की सुविधा चालू करना
इस सुविधा के लिए ऑप्ट-इन करने के लिए, अपने
play_publishing_config.xmlमें मौजूद<installer>एलिमेंट मेंacceptsCommandLineArgumentsएट्रिब्यूट जोड़ें.उदाहरण
manifest.xmlके कॉन्टेंट:<installer requiresElevation="true" acceptsCommandLineArguments="true"> <path>path/to/installer.exe</path> <installation-path-registry-location> <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name> <value-name>InstallPath</value-name> </installation-path-registry-location> </installer>- एट्रिब्यूट:
acceptsCommandLineArguments - टाइप:
Boolean - डिफ़ॉल्ट:
false - व्यवहार: इस विकल्प को सही पर सेट करने पर, GPG आपके इंस्टॉलर को एक्ज़ीक्यूट करते समय, सेशन टोकन को कमांड-लाइन आर्ग्युमेंट में जोड़ देगा.
- एट्रिब्यूट:
अपने इंस्टॉलर में सेशन टोकन को मैनेज करना
GPG क्लाइंट से इंस्टॉलर लॉन्च होने पर, इसे कमांड-लाइन आर्ग्युमेंट के तौर पर सेशन टोकन मिलेगा.
- आर्ग्युमेंट का फ़ॉर्मैट:
--g_session_token=<TOKEN>
आपको यह काम करना होगा:
- एक्सट्रैक्शन: टोकन स्ट्रिंग को वापस पाने के लिए, आपके इंस्टॉलर को कमांड-लाइन आर्ग्युमेंट पार्स करने होंगे.
- प्रॉपगेशन: अगर इंस्टॉलेशन फ़्लो में सेकंडरी लॉन्चर या गेम प्रोसेस लॉन्च करना शामिल है, तो आपका इंस्टॉलर, एसडीके का इस्तेमाल करने वाली फ़ाइनल गेम प्रोसेस को सेशन टोकन सुरक्षित तरीके से पास करने के लिए ज़िम्मेदार है.
- लॉन्च करना: गेम एक्ज़ीक्यूटेबल शुरू करने के लिए, दिए गए सेशन टोकन का इस्तेमाल करें. इससे यह पक्का होता है कि गेम, पुष्टि किए गए GPG कॉन्टेक्स्ट में चल रहा है. ऐसा न करने पर, InitializeSDK फ़ंक्शन काम नहीं करेगा और आपके प्लेयर को गेम रीस्टार्ट करना होगा.
- आर्ग्युमेंट का फ़ॉर्मैट:
गड़बड़ी ठीक करना और फ़ॉलबैक
- टोकन वापस पाना: अगर किसी वजह से GPG, सेशन टोकन जनरेट या पास नहीं कर पाता है (जैसे, टोकन जनरेट नहीं हो पाता), तो भी इंस्टॉलेशन की प्रोसेस जारी रहेगी. हालांकि, आपका इंस्टॉलर --g_session_token आर्ग्युमेंट के बिना लॉन्च किया जाएगा.
- मज़बूत होना: आपका इंस्टॉलर इस तरह से डिज़ाइन किया जाना चाहिए कि वह उन स्थितियों को हैंडल कर सके जहां सेशन टोकन मौजूद नहीं है. ऐसे मामलों में, इंस्टॉलर को स्टैंडर्ड इंस्टॉलेशन की प्रोसेस पूरी करनी चाहिए. आपको गेम के अपने-आप लॉन्च होने की सुविधा को ट्रिगर नहीं करना चाहिए, क्योंकि InitializeSDK फ़ंक्शन काम नहीं करेगा.
- इंस्टॉलर से जुड़ी गड़बड़ियां: अपने इंस्टॉलर और उससे शुरू होने वाले गेम लॉन्च करने के क्रम को मज़बूत बनाने और गड़बड़ियों को ठीक करने की ज़िम्मेदारी आपकी है. GPG के पास, इंस्टॉलर लॉन्च होने के बाद उसमें होने वाली प्रोसेस को कंट्रोल करने का अधिकार नहीं होता.