Unity के लिए Google Play Games प्लगिन का इस्तेमाल शुरू करें

इस विषय में, Unity प्रोजेक्ट को सेट अप करने का तरीका बताया गया है, ताकि Unity के लिए Google Play Games प्लगिन. टास्क इनमें प्रोजेक्ट सेट अप करना, एक सोशल मीडिया प्लैटफ़ॉर्म चुनना, और Google Ads प्लेयर साइन इन करने के लिए.

शुरू करने से पहले

प्लग इन इंस्टॉल करना

  1. इनमें से किसी एक विकल्प का उपयोग करके प्लग इन प्राप्त करें:

    • इसका क्लोन बनाएं GitHub रेपो आपके फ़ाइल सिस्टम में.

    • Google News ऐप्लिकेशन GitHub रेपो ZIP फ़ाइल के तौर पर डाउनलोड करें और फिर उसे अनपैक करें.

  2. current-build डायरेक्ट्री में unitypackage फ़ाइल ढूंढें. यह फ़ाइल प्लगिन है. उदाहरण के लिए, यह नीचे दिए गए पैरामीटर जैसा दिखना चाहिए:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. Unity में अपना गेम प्रोजेक्ट खोलें.

  4. इस पर क्लिक करके unitypackage फ़ाइल को अपने प्रोजेक्ट की एसेट में इंपोर्ट करें ऐसेट > पैकेज इंपोर्ट करें > कस्टम पैकेज मेन्यू आइटम.

  5. पक्का करें कि आपका मौजूदा बिल्ड प्लैटफ़ॉर्म Android पर सेट हो.

    1. मुख्य मेन्यू में, फ़ाइल > बिल्ड सेटिंग....

    2. Android चुनें और प्लैटफ़ॉर्म स्विच करें पर क्लिक करें.

    3. Window > के तहत एक नया मेन्यू आइटम होना चाहिए Google Play Games. अगर आपने कोई ऐसेट मौजूद न हो. इसके लिए, ऐसेट > रीफ़्रेश करें और इसके बाद, बिल्ड प्लैटफ़ॉर्म को फिर से सेट करने की कोशिश करें.

Play Console से Android के संसाधन पाएं

ऐसी हर उपलब्धि, लीडरबोर्ड, और इवेंट जिसमें आपका बनाया गया है Play Console में Android का ऐसा संसाधन शामिल है जिसका इस्तेमाल तब किया जाता है, जब अपना Unity प्रोजेक्ट सेट अप करें.

  1. अपने गेम के लिए Android संसाधन पाएं.

    1. Play Console में, आपका गेम.

    2. उपलब्धियां टैब पर क्लिक करें. इसके बाद, संसाधन पाएं पर क्लिक करें.

    3. संसाधन एक्सपोर्ट करें विंडो में, Android टैब पर क्लिक करें.

    4. एक्सएमएल कॉन्टेंट को चुनें और कॉपी करें.

अपना Unity प्रोजेक्ट सेट अप करें

  1. अपने Unity प्रोजेक्ट में Android के संसाधन जोड़ें.

    1. Unity में, ** विंडो > पर क्लिक करें Google Play Games > सेटअप करें... > Android सेटअप **.

    2. सेटअप विंडो में ये आइटम पूरे करें:

    3. कॉन्सटेंट सेव करने की डायरेक्ट्री: कॉन्सटेंट फ़ाइल के लिए फ़ोल्डर.

    4. कॉन्सटेंट क्लास का नाम: बनाए जाने वाली C# क्लास का नाम, जिसमें नेमस्पेस भी शामिल है.

    5. संसाधनों की परिभाषा: Play Console से मिले Android के संसाधनों का डेटा यहां चिपकाएं.

    6. वेब क्लाइंट आईडी: लिंक किए गए वेब ऐप्लिकेशन का क्लाइंट आईडी. यह सिर्फ़ अगर आपके पास वेब-आधारित बैकएंड है, तो ज़रूरी है आपके गेम के लिए ऐक्सेस टोकन का इस्तेमाल करने के लिए सर्वर प्राधिकरण कोड की ज़रूरत होगी. या अगर आपको दूसरे प्लेयर बनाने के लिए प्लेयर के लिए किसी आईडी टोकन की ज़रूरत है, तो बिना गेम वाले एपीआई कॉल की सुविधा मिलती है.

    7. सेटअप पर क्लिक करें. इससे आपका गेम, क्लाइंट आईडी और ऐसा C# क्लास जनरेट करता है जिसमें आपके हर Android डिवाइस के लिए कॉन्सटेंट शामिल होते हैं संसाधन.

Android सेटअप

Unity में अपने Android SDK टूल को इंस्टॉल करने का पाथ सेट अप करें. यह इस जगह पर मौजूद है बाहरी टूल सेक्शन के तहत, प्राथमिकताएं मेन्यू में जाएं.

Unity गेम को Android पर Google Play Games पर चलने के लिए, सबसे पहले कॉन्फ़िगर करें Android SDK मैनेजर खोलें और पुष्टि करें कि आपने इन्हें डाउनलोड किया है पैकेज. इस हिसाब से, Android Studio के SDK मैनेजर का इस्तेमाल किया जा रहा है या नहीं, या स्टैंडअलोन SDK मैनेजर का इस्तेमाल करने पर, कॉम्पोनेंट के नाम अलग-अलग हो सकते हैं. - Google Play services - Android सपोर्ट लाइब्रेरी - सहायता लाइब्रेरी के लिए लोकल Maven रिपॉज़िटरी (इसे Android सहायता भी कहा जाता है) डेटा स्टोर करने की जगह) - Google डेटा स्टोर करने की जगह - Android 6.0 (एपीआई 23) (SDK टूल के कम से कम वर्शन पर इसका कोई असर नहीं पड़ता).

इसके बाद, अपने गेम के पैकेज का नाम कॉन्फ़िगर करें. ऐसा करने के लिए, फ़ाइल > बिल्ड सेटिंग में जाकर, Android प्लैटफ़ॉर्म चुनें और Player सेटिंग पर क्लिक करके Unity की प्लेयर सेटिंग विंडो दिखाएं. उस विंडो में, बंडल आइडेंटिफ़ायर की सेटिंग अन्य सेटिंग में की गई है. वहां अपने पैकेज का नाम डालें (उदाहरण के लिए com.example.my.awesome.game).

Play की गेम सेवाओं में साइन इन करने के लिए, आपको अपनी APK फ़ाइल, तो यह पक्का करें कि सही प्रमाणपत्र, यानी वह प्रमाणपत्र जो SHA1 प्रमाणपत्र से मेल खाता है आपने सेटअप के दौरान Developer Console में डाला था.

इसके बाद, विंडो |Google Play Games|सेटअप - Android सेटअप के मेन्यू आइटम पर क्लिक करें. इससे आपको Android सेटअप वाली स्क्रीन दिखेगी.

'कॉन्सटेंट' की क्लास का नाम डालें. यह पूरी तरह क्वालिफ़ाइड क्लास का नाम है जिसे अपडेट किया जाएगा (या बनाया जाएगा) जिसमें गेम संसाधनों के आईडी शामिल होंगे. नाम का फ़ॉर्मैट <namespace>.<classname> है. उदाहरण के लिए, AwesomeGame.GPGSIds अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

संसाधन की परिभाषा का डेटा चिपकाएं. यह एक्सएमएल डेटा, Google Play से मिला है Developer Console, जिसमें संसाधन आईडी के साथ-साथ ऐप्लिकेशन आईडी भी शामिल होते हैं Android के लिए.

यह डेटा Google Play कंसोल में " संसाधन" नतीजों, जैसे कि उपलब्धियां या लीडरबोर्ड, फिर Android पर क्लिक करें.

डेटा को टेक्स्ट एरिया में चिपकाने के बाद, सेटअप बटन पर क्लिक करें.

ध्यान दें: अगर अपने गेम के साथ वेब ऐप्लिकेशन या बैकएंड सर्वर का इस्तेमाल किया जा रहा है, तो तो आप वेब ऐप्लिकेशन को गेम से लिंक कर सकते हैं ताकि प्लेयर आईडी टोकन और/या ईमेल पता. ऐसा करने के लिए, डाउनलोड करें और वेब ऐप्लिकेशन को सेटअप डायलॉग बॉक्स में ले जाएं.

Windows पर Android के लिए ऐप्लिकेशन बनाने के बारे में अतिरिक्त निर्देश

अगर Windows का इस्तेमाल किया जा रहा है, तो आपको यह पक्का करना होगा कि आपका Java SDK टूल इंस्टॉल हो Unity से ऐक्सेस किया जा सकता है. ऐसा करने के लिए:

  1. JAVA_HOME के एनवायरमेंट वैरिएबल को Java SDK टूल के इंस्टॉल करने के पाथ पर सेट करें (उदाहरण के लिए, C:\Program Files\Java\jdk1.7.0_45).
  2. अपने PATH एनवायरमेंट वैरिएबल में Java SDK टूल का bin फ़ोल्डर जोड़ें (उदाहरण के लिए, C:\Program Files\Java\jdk1.7.0_45\bin)
  3. फिर से चालू करें.

एनवायरमेंट वैरिएबल में बदलाव करने का तरीका: Windows 2000/XP/Vista/7 में, राइट क्लिक करें My Computer, फिर Properties और फिर Advanced System Properties पर जाएं (या सिस्टम प्रॉपर्टी और उसके बाद बेहतर टैब पर क्लिक करें), फिर एनवायरमेंट वैरिएबल. Windows 8 पर, Windows Key + W दबाएं और एनवायरमेंट वैरिएबल के बारे में ज़्यादा जानकारी के लिए, दस्तावेज़ देखें Windows के आपके वर्शन के लिए.

प्रोजेक्ट चलाएं

अगर आप Smoketest नमूने के साथ काम कर रहे हैं, तो आपको और इस पॉइंट पर प्रोजेक्ट को चलाएं. आपको अपने-आप साइन-इन करने की कोशिश दिखेगी, जब Smoketest शुरू होगा.

Android पर बनाने और चलाने के लिए, क्लिक करें फ़ाइल > बिल्ड सेटिंग चुनकर, Android प्लैटफ़ॉर्म चुनें. इसके बाद, प्लैटफ़ॉर्म पर स्विच करें. इसके बाद, बनाएं और चलाएं.

कोई सोशल प्लैटफ़ॉर्म चुनें

Google Play Games प्लगिन, Unity के सोशल इंटरफ़ेस, अन्य गेम के साथ इंटिग्रेट करते समय, उन गेम के साथ काम करने के लिए जो पहले से ही उस इंटरफ़ेस का इस्तेमाल करते हैं प्लैटफ़ॉर्म. हालांकि, कुछ सुविधाएं Play Games के लिए खास होती हैं और Unity की ओर से दिए गए स्टैंडर्ड सोशल इंटरफ़ेस के एक्सटेंशन के तौर पर उपलब्ध कराया गया है.

स्टैंडर्ड एपीआई कॉल को Social.Active ऑब्जेक्ट से ऐक्सेस किया जा सकता है, जो किसी ISocialPlatform इंटरफ़ेस का संदर्भ है. नॉन-स्टैंडर्ड Social.Active को कास्ट करके, Google Play Games के एक्सटेंशन ऐक्सेस किए जा सकते हैं आपको PlayGamesPlatform क्लास का ऐक्सेस देना होगा, जहां अतिरिक्त तरीके उपलब्ध हैं.

डिफ़ॉल्ट सोशल प्लैटफ़ॉर्म पर बदलाव किए बिना प्लग इन का इस्तेमाल करें

PlayGamesPlatform.Activate को कॉल करने पर, Google Play Games आपका सोशल मीडिया प्लैटफ़ॉर्म को डिफ़ॉल्ट रूप से लागू करने की सुविधा. इसका मतलब है कि स्टैटिक कॉल टू मेथड Social और Social.Active में, Google Play Games मुकाबला करेगा प्लग इन. प्लगिन का इस्तेमाल करने वाले ज़्यादातर गेम के लिए, यह एक खास तरीका होता है.

हालांकि, अगर किसी वजह से, डिफ़ॉल्ट तौर पर लागू होने वाले तरीके को बनाए रखना हो (उदाहरण के लिए, इसका इस्तेमाल अलग-अलग सोशल प्लैटफ़ॉर्म) से जुड़ा होता है, तो Google Play Games प्लगिन का इस्तेमाल बिना डिफ़ॉल्ट यूआरएल को ओवरराइड करें. ऐसा करने के लिए:

  1. PlayGamesPlatform.Activate को कॉल न करें
  2. अगर Xyz एक ऐसे तरीके का नाम है जिसे आपको Social क्लास में कॉल करना है, तो ऐसा करें Social.Xyz को कॉल नहीं कर सकती. इसके बजाय, PlayGamesPlatform.Instance.Xyz पर कॉल करें
  3. Google Play Games से इंटरैक्ट करते समय, Social.Active का इस्तेमाल न करें. इसके बजाय, PlayGamesPlatform.Instance का इस्तेमाल करें.

इस तरह, आप स्कोर और उपलब्धियों को भी एक साथ दो या सोशल मीडिया के ज़्यादा प्लैटफ़ॉर्म:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

साइन-इन सेवा की पुष्टि करें

जब Play की गेम सेवाओं से कनेक्ट करने की कोशिश की जाती है, तो आपका गेम खुलने पर, साइन इन करने की सेवा को चालू करें. अगर कनेक्ट हो जाता है, तो आपका गेम साइन-इन करने का अनुरोध दिखाता है और Unity के लिए Google Play Games का प्लगिन.

अगर किसी उपयोगकर्ता ने अपने डिवाइस पर कभी Google Play Games का इस्तेमाल नहीं किया है, तो वह Play Games बनाने के लिए, एक बार इस्तेमाल होने वाली सेटअप स्क्रीन पर अपने-आप ले जाया जाता है जोड़ें.

अपनी स्क्रिप्ट की Start तरीके में, अपने-आप साइन-इन करने की कोशिश करें, पुष्टि की स्थिति फ़ेच करें, और Play Games को बंद करें अगर उपयोगकर्ता साइन इन नहीं है, तो सेवा की सुविधाएं.

    using GooglePlayGames;

    public void Start() {
      PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
    }

    internal void ProcessAuthentication(SignInStatus status) {
      if (status == SignInStatus.Success) {
        // Continue with Play Games Services
      } else {
        // Disable your integration with Play Games Services or show a login button
        // to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
      }
    }
}

नतीजे का कोड एक ईनम है. इसका इस्तेमाल, साइन-इन करने की वजह जानने के लिए किया जा सकता है अपलोड नहीं किया जा सका.

अगर आपको Unity के सोशल प्लैटफ़ॉर्म का इस्तेमाल करना है, तो यह कोड डालें:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

जब तक पुष्टि नहीं हो जाती, तब तक Google Play Games API से कोई कॉल नहीं किया जा सकता Authenticate से रिटर्न मान. इस वजह से, हमारा सुझाव है कि गेम स्टैंडबाय स्क्रीन की सुविधा तब तक चालू रहती है, जब तक कॉलबैक को कॉल नहीं किया जाता. इससे यह पक्का होता है कि उपयोगकर्ता गेम खेलना शुरू न कर सकें गेम में तब तक बदलाव नहीं किया जा सकता, जब तक कि पुष्टि नहीं हो जाती.

सर्वर की पुष्टि करने वाले कोड वापस पाना

मौजूदा खाते की तरफ़ से किसी बैकएंड वेब सर्वर पर Google API को ऐक्सेस करने के लिए प्लेयर है, तो आपको क्लाइंट ऐप्लिकेशन से एक प्रमाणीकरण कोड पाना होगा और इसे अपने वेब सर्वर ऐप्लिकेशन में पास करें. इसके बाद, कोड को बदला जा सकता है अलग-अलग एपीआई को कॉल करने के लिए, ऐक्सेस टोकन. इस बारे में जानकारी पाने के लिए वर्कफ़्लो, देखें वेबसाइटों के लिए Google साइन इन.

सर्वर साइड ऐक्सेस कोड पाने के लिए:

  1. इस ब्राउज़र में अपने गेम से लिंक किए गए वेब ऐप्लिकेशन के वेब क्लाइंट आईडी को कॉन्फ़िगर करें Play Games Console पर जाएं.

  2. प्लेयर जब PlayGamesPlatform.Instance.RequestServerSideAccess पर कॉल करें की पुष्टि की गई है, ताकि सर्वर साइड ऐक्सेस कोड पाने की पुष्टि की जा सके.

  3. इस कोड को अपने सर्वर ऐप्लिकेशन में पास करें.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

सेट अप करें और सुविधाएं जोड़ें