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

इस दस्तावेज़ में, मौजूदा गेम को games v1 एसडीके से games v2 एसडीके पर माइग्रेट करने का तरीका बताया गया है. 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 प्रोजेक्ट में इंपोर्ट करना

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

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

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

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

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

  4. Unity Hub में, फ़ाइल > बिल्ड सेटिंग > प्लेयर सेटिंग > अन्य सेटिंग पर क्लिक करें.

  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 Services के यूज़र इंटरफ़ेस (यूआई) में, साइन आउट करने का विकल्प नहीं दिख रहा है.

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

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

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

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

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

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

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

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

  3. इंटरनल टेस्टिंग रिलीज़ बनाना

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