Play Games Services v2 (Unity) पर माइग्रेट करना

इस दस्तावेज़ में, मौजूदा गेम को Games v1 SDK से Games v2 SDK पर माइग्रेट करने का तरीका बताया गया है. Unity के लिए Play Games प्लगिन के वर्शन 10 और इससे पहले के वर्शन, Games v1 SDK का इस्तेमाल करते हैं.

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

  • पक्का करें कि आपने Play Console सेट अप कर लिया हो और Unity Hub इंस्टॉल कर लिया हो.

Unity के लिए Google Play Games प्लगिन डाउनलोड करना

Play Games Services की नई सुविधाओं का फ़ायदा पाने के लिए, प्लगिन का नया वर्शन डाउनलोड और इंस्टॉल करें. इसे GitHub रिपॉज़िटरी से डाउनलोड करें.

पुराना प्लगिन हटाना

Unity Hub में, इन फ़ोल्डर या फ़ाइलों को हटाएं.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
अपने यूनिटी प्रोजेक्ट में हाइलाइट किए गए फ़ोल्डर हटाएं.
अपने Unity प्रोजेक्ट में हाइलाइट किए गए फ़ोल्डर हटाएं (बड़ा करने के लिए क्लिक करें).

नए प्लगिन को अपने Unity प्रोजेक्ट में इंपोर्ट करें

प्लगिन को अपने Unity प्रोजेक्ट में इंपोर्ट करने के लिए, यह तरीका अपनाएं:

  1. अपना गेम प्रोजेक्ट खोलें.
  2. डाउनलोड की गई unitypackage फ़ाइल को अपने प्रोजेक्ट की ऐसेट में इंपोर्ट करने के लिए, Unity Hub में ऐसेट > पैकेज इंपोर्ट करें > कस्टम पैकेज पर क्लिक करें.
  3. पक्का करें कि आपका मौजूदा बिल्ड प्लैटफ़ॉर्म, Android पर सेट हो.

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

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

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

  4. Unity Hub में, File > Build Settings > Player Settings > Other Settings पर क्लिक करें.

  5. टारगेट एपीआई लेवल बॉक्स में, कोई वर्शन चुनें.

  6. स्क्रिप्टिंग बैकएंड बॉक्स में, IL2CPP डालें.

  7. टारगेट आर्किटेक्चर बॉक्स में, कोई वैल्यू चुनें.

  8. पैकेज का नाम package_name नोट करें.इस जानकारी का इस्तेमाल बाद में किया जा सकता है.

    आपके Unity प्रोजेक्ट में प्लेयर सेटिंग
    आपके Unity प्रोजेक्ट में प्लेयर सेटिंग.
  9. Play Console से Android के संसाधनों को कॉपी करना

  10. अपने Unity प्रोजेक्ट में Android रिसॉर्स जोड़ना

अपने-आप साइन-इन होने की सुविधा के लिए कोड अपडेट करना

PlayGamesClientConfiguration इनिशियलाइज़ेशन क्लास को PlayGamesPlatform.Instance.Authenticate() क्लास से बदलें. PlayGamesPlatform को शुरू करने और चालू करने की ज़रूरत नहीं है. PlayGamesPlatform.Instance.Authenticate() को कॉल करने पर, अपने-आप साइन इन होने की सुविधा का नतीजा मिलता है.

C#

Unity Hub में, PlayGamesClientConfiguration क्लास वाली फ़ाइलें ढूंढें.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

इसे इस पर अपडेट करें:

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).
    }
}

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

सोशल प्लैटफ़ॉर्म चुनने के लिए, सोशल प्लैटफ़ॉर्म चुनना लेख पढ़ें.

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

सर्वर साइड ऐक्सेस कोड पाने के लिए, सर्वर ऑथेंटिकेशन कोड वापस पाना लेख पढ़ें.

साइन आउट करने का कोड हटाना

साइन आउट करने के लिए कोड हटाएं. Play Games की सेवाओं के लिए, अब गेम में साइन आउट करने वाले बटन की ज़रूरत नहीं है.

यहां दिए गए उदाहरण में दिखाया गया कोड हटाएं:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

अपने गेम का परीक्षण करें

अपने गेम की जांच करके पक्का करें कि वह डिज़ाइन के मुताबिक काम कर रहा हो. टेस्टिंग, आपके गेम की सुविधाओं के हिसाब से की जाती है.

यहां कुछ सामान्य टेस्ट की सूची दी गई है.

  1. साइन इन हो गया.

    1. अपने-आप साइन-इन होने की सुविधा काम करती है. गेम लॉन्च करने पर, उपयोगकर्ता को Play Games की सेवाओं में साइन इन करना होगा.

    2. वेलकम पॉप-अप दिखता है.

      स्वागत वाले पॉप-अप का सैंपल.
      वेलकम पॉप-अप का सैंपल (बड़ा करके देखने के लिए क्लिक करें).

    3. लॉग इन करने से जुड़े मैसेज दिखते हैं. टर्मिनल में यहां दिया गया कमांड चलाएं:

      adb logcat | grep com.google.android.

      यहां दिए गए उदाहरण में, लॉग मैसेज के बारे में बताया गया है:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. पक्का करें कि यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट एक जैसे हों.

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

    2. Play Games की सेवाओं के यूज़र इंटरफ़ेस (यूआई) में, साइन-आउट करने का विकल्प नहीं दिख रहा है.

    3. पक्का करें कि प्लेयर आईडी को सही तरीके से वापस पाया जा सकता हो. साथ ही, अगर लागू हो, तो सर्वर-साइड की सुविधाएं उम्मीद के मुताबिक काम कर रही हों.

    4. अगर गेम में सर्वर साइड ऑथेंटिकेशन का इस्तेमाल किया जाता है, तो requestServerSideAccess फ़्लो की अच्छी तरह से जांच करें. पक्का करें कि सर्वर को ऑथराइज़ेशन कोड मिल गया हो और वह इसे ऐक्सेस टोकन के लिए बदल सकता हो. नेटवर्क की गड़बड़ियों और अमान्य client ID के लिए, दोनों तरह के टेस्ट करें.

अगर आपका गेम इनमें से किसी सुविधा का इस्तेमाल कर रहा था, तो उन्हें टेस्ट करें. इससे यह पक्का किया जा सकेगा कि माइग्रेशन से पहले की तरह ही ये सुविधाएं काम कर रही हैं:

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

माइग्रेशन के बाद के टास्क

गेम v2 SDK पर माइग्रेट करने के बाद, यह तरीका अपनाएं.

  1. Play ऐप्लिकेशन साइनिंग की सुविधा का इस्तेमाल करना

  2. AAB फ़ाइल बनाना

  3. कंपनी के जांचकर्ताओं के लिए उपलब्ध टेस्टिंग रिलीज़ बनाना

  4. ऐप्लिकेशन पर हस्ताक्षर करने के लिए इस्तेमाल किए गए क्रेडेंशियल की पुष्टि करना