Play Games PC SDK की मदद से, Google Play services को ऐक्सेस करके पीसी पर गेम बनाएं और उससे कमाई करें. Play Billing का इस्तेमाल करके डिजिटल कॉन्टेंट बेचें, Play Games का इस्तेमाल करके आसानी से साइन इन करें, और Play Integrity की मदद से यह पक्का करें कि आपके उपयोगकर्ताओं के पास आपके ऐप्लिकेशन का मान्य एनटाइटलमेंट है.
क्या आप शुरू करने के लिए तैयार हैं?
ज़रूरी शर्तें
Play Console में ऐप्लिकेशन की एंट्री बनाएं और Play पैकेज के नाम पर दावा करें.
Google Play Games for PC डाउनलोड और इंस्टॉल करें. इसके बाद, अपने Google खाते से साइन इन करें.
पहला चरण: अपने प्रोजेक्ट में SDK टूल जोड़ना
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 डिजिटल हस्ताक्षर का इस्तेमाल करके, डिजिटल हस्ताक्षर किया गया हो. किसी एक्सीक्यूटेबल पर हस्ताक्षर करने का तरीका जानने के लिए, SignTool के दस्तावेज़ देखें .
चौथा चरण: SDK टूल को शुरू करना
अपने गेम के स्टार्टअप सीक्वेंस के दौरान, SDK टूल को शुरू करें. यह प्रोसेस, उपयोगकर्ता के किसी इंटरैक्शन के बिना अपने-आप होनी चाहिए. हमारा सुझाव है कि गेम विंडो को रेंडर करने से पहले, यह पुष्टि कर लें कि गेम को शुरू करने की प्रोसेस पूरी हो गई है. इससे उपयोगकर्ताओं को बेहतर अनुभव मिलता है. ऐसा इसलिए होता है, क्योंकि गड़बड़ियों को जल्द से जल्द दिखाकर उन्हें ठीक किया जाता है. साथ ही, जिन मामलों में गेम की प्रोसेस को बंद करना ज़रूरी होता है उनमें गेम विंडो को कुछ समय के लिए दिखने से रोका जाता है.
एपीआई को शुरू करने के लिए, GooglePlayInitialize
को कॉल करके SDK टूल का इस्तेमाल शुरू करें. इससे, ग्लोबल स्टेटस सेट अप हो जाएगा, SDK टूल के रनटाइम से कनेक्ट हो जाएगा, और यह पुष्टि हो जाएगी कि ऐप्लिकेशन सही तरीके से शुरू हुआ है या नहीं. किसी भी दूसरे एपीआई का इस्तेमाल करने से पहले, इसे कॉल करना ज़रूरी है. साथ ही, इसके लिए यह ज़रूरी है कि 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
के साथ शुरू करने की प्रोसेस पूरी नहीं होती है, तो जल्द से जल्द गेम की प्रोसेस से बाहर निकलें. SDK टूल का रनटाइम, उपयोगकर्ता की मदद करने की कोशिश करेगा. इसके लिए, आपके गेम को कोई और कार्रवाई करने की ज़रूरत नहीं होगी. उदाहरण के लिए, अगर उपयोगकर्ता के पास गेम का मान्य लाइसेंस नहीं है, तो Google Play Games उपयोगकर्ता को गेम की कॉपी खरीदने के लिए कहेगा. अन्य गड़बड़ियों के लिए, हमारा सुझाव है कि आप जल्द से जल्द गेम प्रोसेस से बाहर निकल जाएं. ऐसा इसलिए, क्योंकि यह ज़रूरी कामों के लिए SDK का इस्तेमाल नहीं करेगा. जैसे, यह पुष्टि करना कि उपयोगकर्ता के पास आपके गेम का मान्य लाइसेंस है या नहीं.
काम न करने वाले रिस्पॉन्स से, इनमें से किसी एक स्थिति का पता चल सकता है:
SDK टूल का रनटाइम इंस्टॉल नहीं है, डिवाइस पर नहीं चल रहा है या यह आपके गेम में इंटिग्रेट किए गए SDK टूल के साथ काम नहीं करने वाला पुराना वर्शन है.
SDK रनटाइम, गेम के ऐप्लिकेशन आइडेंटिटी की पुष्टि नहीं कर सका. ऐसा अमान्य
manifest.xml
या ऐप्लिकेशन डेवलप करते समय, डेवलपर मोड चालू किए बिना SDK टूल का इस्तेमाल करने की वजह से हो सकता है. इसके बिना, आपके गेम के एक्सीक्यूटेबल को डिजिटल हस्ताक्षर करना ज़रूरी है. यह हस्ताक्षर, आपके Play पैकेज के नाम से रजिस्टर किए गए डिजिटल सर्टिफ़िकेट से किया जाना चाहिए.गेम को Google Play Games क्लाइंट से लॉन्च नहीं किया गया था.
Google Play Games में मौजूद सक्रिय उपयोगकर्ता के पास ऐप्लिकेशन का लाइसेंस नहीं है.
पांचवां चरण: (ज़रूरी नहीं) एक से ज़्यादा गेम-प्रोसेस के साथ काम करना
अगर आपका गेम कई प्रोसेस का इस्तेमाल करता है और Play Games के पीसी SDK टूल का इस्तेमाल ऐसी प्रोसेस से करना है जिसे सीधे Google Play Games on PC से लॉन्च नहीं किया जाता है, तो इंटिग्रेशन के लिए कुछ और चरणों को पूरा करना होगा:
Google Play Games for PC से सीधे लॉन्च की गई प्रोसेस से, Play Games के पीसी एसडीके टूल के शुरू होने की पुष्टि होनी चाहिए.
इससे, गड़बड़ियों को जल्द से जल्द दिखाकर, उपयोगकर्ताओं को बेहतर अनुभव मिलता है. ध्यान दें कि 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 से लॉन्च की गई गेम प्रोसेस, कमांड लाइन पैरामीटर को आगे बढ़ाती है. ये पैरामीटर, चाइल्ड-प्रोसेस को दिए गए होते हैं.गेम बंद होने पर, सभी प्रोसेस से बाहर निकलें.
जब कोई उपयोगकर्ता आपका गेम बंद करता है या SDK टूल को शुरू करने में हुई किसी गड़बड़ी की वजह से गेम बंद हो जाता है, जैसे कि
kActionRequiredShutdownClientProcess
, तो आपके गेम की सभी प्रोसेस बंद कर दें. इससे यह पक्का होता है कि अगली बार जब पीसी के लिए Google Play Games क्लाइंट से आपका गेम लॉन्च किया जाएगा, तो किसी दूसरे चालू खाते पर स्विच करने जैसे नए बदलाव लागू हो जाएंगे.
अगले चरण
अपने आईडीई में डेवलप करते समय SDK टूल का इस्तेमाल करें:
- डेवलपर मोड चालू करना
अपने ऐप्लिकेशन में Google Play PC की सुविधाएं जोड़ें:
- Play Billing की मदद से डिजिटल सामान बेचना
- Play इंस्टॉल रेफ़रल की मदद से, अपनी मार्केटिंग को मेज़र करना