Play Games PC SDK की मदद से, पीसी पर गेम बनाने और उससे कमाई करने के लिए, Google Play की सेवाओं को ऐक्सेस किया जा सकता है. Play Billing का इस्तेमाल करके डिजिटल कॉन्टेंट बेचें, Play Games का इस्तेमाल करके आसानी से साइन-इन करें, और यह पक्का करें कि Play Integrity की मदद से, आपके उपयोगकर्ताओं के पास आपके ऐप्लिकेशन का मान्य एनटाइटलमेंट हो.
क्या आप शुरू करने के लिए तैयार हैं?
ज़रूरी शर्तें
Play Console में ऐप्लिकेशन की एंट्री बनाएं और Play पैकेज के नाम पर दावा करें.
Google Play Games for PC डाउनलोड और इंस्टॉल करें. इसके बाद, अपने Google खाते से साइन इन करें.
पहला चरण: अपने प्रोजेक्ट में एसडीके जोड़ना
Play Games PC C++ SDK डाउनलोड करें.
एपीआई हेडर फ़ोल्डर
includes/
को अपने ऐप्लिकेशन के कोडबेस में कॉपी करें.imports/
से, फिर से डिस्ट्रिब्यूट की जा सकने वाली फ़ाइलों को अपने ऐप्लिकेशन के प्रोजेक्ट में कॉपी करें.- अपने प्रोजेक्ट को
play_pc_sdk.lib
से लिंक करें. इससेplay_pc_sdk.dll
के कॉन्टेंट को ऐक्सेस करने की अनुमति मिल जाएगी.
- अपने प्रोजेक्ट को
दूसरा चरण: मेनिफ़ेस्ट फ़ाइल जोड़ना
अपने गेम में एसडीके का इस्तेमाल करने से पहले, आपको अपने गेम के एक्ज़ीक्यूटेबल को उस Play पैकेज के नाम से जोड़ना होगा जिस पर आपने Play Console में दावा किया है. इसके लिए, आपको अपने गेम के एक्ज़ीक्यूटेबल के साथ एक ही डायरेक्ट्री में manifest.xml
फ़ाइल जोड़नी होगी.
उदाहरण manifest.xml
के कॉन्टेंट:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
उदाहरण के लिए, manifest.xml
प्लेसमेंट:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
तीसरा चरण: अपने गेम पर डिजिटल हस्ताक्षर करना
एसडीके का इस्तेमाल करने से पहले, गेम के एक्ज़ीक्यूटेबल पर Authenticode Digital Signature का इस्तेमाल करके, डिजिटल हस्ताक्षर किया जाना चाहिए. किसी एक्ज़ीक्यूटेबल पर हस्ताक्षर करने का तरीका जानने के लिए, SignTool के बारे में दस्तावेज़ देखें .
चौथा चरण: एसडीके टूल को शुरू करना
अपने गेम के स्टार्टअप सीक्वेंस के दौरान, SDK टूल को शुरू करें. यह प्रोसेस अपने-आप होनी चाहिए. इसमें उपयोगकर्ता के किसी इंटरैक्शन की ज़रूरत नहीं होनी चाहिए. हमारा सुझाव है कि गेम विंडो रेंडर करने से पहले, यह पुष्टि कर लें कि SDK सही तरीके से शुरू हो गया है. इससे उपयोगकर्ताओं को बेहतर अनुभव मिलता है. ऐसा इसलिए, क्योंकि गड़बड़ियों का पता चलने पर उन्हें तुरंत ठीक किया जाता है. साथ ही, इससे उन मामलों में गेम विंडो के कुछ समय के लिए दिखने की समस्या से बचा जा सकता है जहां गेम प्रोसेस को बंद करने की ज़रूरत होती है.
एपीआई को शुरू करने के लिए, GooglePlayInitialize
को कॉल करके एसडीके का इस्तेमाल शुरू करें. इससे ग्लोबल स्टेट सेट अप हो जाएगी. साथ ही, यह एसडीके रनटाइम से कनेक्ट हो जाएगी और पुष्टि हो जाएगी कि ऐप्लिकेशन सही तरीके से शुरू हुआ है. किसी अन्य एपीआई का इस्तेमाल करने से पहले, इस फ़ंक्शन को कॉल करना ज़रूरी है. साथ ही, इसमें InitializeResult::ok()
को true
के बराबर करके, जारी रखने के लिए कॉलबैक पूरा करना होगा.
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
अगर कोड kActionRequiredShutdownClientProcess
से शुरू नहीं हो रहा है, तो गेम की प्रोसेस को जल्द से जल्द बंद करें. एसडीके का रनटाइम, उपयोगकर्ता की मदद करने की कोशिश करेगा. इसके लिए, आपके गेम को कोई और कार्रवाई करने की ज़रूरत नहीं होगी. उदाहरण के लिए, अगर किसी व्यक्ति के पास गेम का मान्य लाइसेंस नहीं है, तो Google Play Games उसे गेम की कॉपी खरीदने के लिए कहेगा. अन्य गड़बड़ियों के लिए, हमारा सुझाव है कि आप गेम प्रोसेस को जल्द से जल्द बंद कर दें. ऐसा इसलिए, क्योंकि एसडीके का इस्तेमाल करके ज़रूरी कार्रवाइयां नहीं की जा सकती. जैसे, यह पुष्टि करना कि उपयोगकर्ता के पास आपके गेम का मान्य लाइसेंस है.
अगर आपको कोई जवाब नहीं मिलता है, तो इसका मतलब इनमें से कोई एक हो सकता है:
एसडीके रनटाइम इंस्टॉल नहीं है, डिवाइस पर नहीं चल रहा है या यह एक पुराना वर्शन है, जो आपके गेम में इंटिग्रेट किए गए एसडीके के साथ काम नहीं करता.
SDK रनटाइम, गेम की ऐप्लिकेशन पहचान की पुष्टि नहीं कर सका. ऐसा अमान्य
manifest.xml
की वजह से हो सकता है. इसके अलावा, ऐसा तब भी हो सकता है, जब डेवलपमेंट के दौरान डेवलपर मोड चालू किए बिना एसडीके टूल का इस्तेमाल किया जा रहा हो. इसके बिना, आपके गेम के एक्ज़ीक्यूटेबल पर, आपके Play पैकेज के नाम से रजिस्टर किए गए डिजिटल सर्टिफ़िकेट से डिजिटल हस्ताक्षर करना ज़रूरी है.गेम के एक्ज़ीक्यूटेबल को Google Play Games क्लाइंट के ज़रिए लॉन्च नहीं किया गया था.
Google Play Games में सक्रिय उपयोगकर्ता के पास ऐप्लिकेशन का लाइसेंस नहीं है.
पांचवां चरण: (ज़रूरी नहीं) एक से ज़्यादा गेम-प्रोसेस को सपोर्ट करना
अगर आपका गेम एक से ज़्यादा प्रोसेस का इस्तेमाल करता है और Google Play Games on PC के SDK टूल का इस्तेमाल ऐसी प्रोसेस से करना चाहता है जिसे Google Play Games on PC ने सीधे तौर पर लॉन्च नहीं किया है, तो इंटिग्रेशन के लिए ये अतिरिक्त चरण पूरे करने होंगे:
Google Play Games for PC से सीधे तौर पर लॉन्च की गई प्रोसेस को, Play Games PC SDK के चालू होने की पुष्टि करनी होगी.
इससे उपयोगकर्ताओं को बेहतर अनुभव मिलता है, क्योंकि गड़बड़ियों के बारे में उन्हें जल्द से जल्द पता चल जाता है. ध्यान दें कि एसडीके का इस्तेमाल करने वाली चाइल्ड-प्रोसेस को भी सीधे तौर पर लॉन्च की गई प्रोसेस के अलावा, इनिशियलाइज़ेशन करना होगा.
किसी चाइल्ड-प्रोसेस में Play Games PC SDK का इस्तेमाल करने के लिए, कमांड लाइन पैरामीटर को स्पॉन की गई चाइल्ड-प्रोसेस पर फ़ॉरवर्ड करें.
कमांड लाइन पैरामीटर फ़ॉरवर्ड करने का उदाहरण:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --foo=abc --bar=123 └───YourGame.exe --foo=abc --bar=123
इस उदाहरण में, हम प्रोसेस की हैरारकी देखते हैं. इसमें, पीसी के लिए Google Play Games (
GooglePlayGames.exe
) कुछ उदाहरण पैरामीटर (--foo=abc --bar=123
) के साथ गेम (YourGameLauncher.exe
) लॉन्च करता है. इसके बाद, गेम एक चाइल्ड-प्रोसेस (YourGame.exe
) बनाता है, जो Play Games PC SDK का इस्तेमाल करती है. इसकी अनुमति देने के लिए, Google Play Games for PC से लॉन्च की गई गेम प्रोसेस, कमांड लाइन पैरामीटर को चाइल्ड-प्रोसेस में फ़ॉरवर्ड करती है.गेम बंद होने पर, सभी प्रोसेस बंद कर दें.
जब कोई व्यक्ति आपका गेम बंद करता है या एसडीके शुरू न हो पाने की वजह से गेम बंद हो जाता है, जैसे कि
kActionRequiredShutdownClientProcess
, तो अपने गेम से जुड़ी सभी प्रोसेस बंद करें. इससे यह पक्का होता है कि अगली बार जब Google Play Games for PC क्लाइंट से आपका गेम लॉन्च किया जाए, तो नए बदलाव लागू हो जाएं. जैसे, किसी दूसरे चालू खाते पर स्विच करना.
अगले चरण
अपने आईडीई में डेवलपमेंट करते समय, SDK टूल का इस्तेमाल करें:
- डेवलपर मोड चालू करना
अपने ऐप्लिकेशन में Google Play PC की सुविधाएं जोड़ें:
- Play Billing का इस्तेमाल करके डिजिटल सामान बेचना
- Play Install Referrer की मदद से, मार्केटिंग का आकलन करना