Unity को इंस्टॉल करने के अन्य विकल्प

.NET 3.X और .NET 4.X, दोनों के लिए सभी .unitypackage फ़ाइलों वाली बड़ी .zip फ़ाइल डाउनलोड करने के बजाय, Unity साइट के लिए Google API से अलग-अलग पैकेज डाउनलोड किए जा सकते हैं.

साइट पर ये सुविधाएं मिलती हैं:

  • ऐसेट पैकेज के तौर पर इंपोर्ट करने के लिए, अलग-अलग .NET 4.X .unitypackage फ़ाइलें.
  • .tgz की अलग-अलग आर्काइव फ़ाइलें, जिन्हें Unity Package Manager का इस्तेमाल करके इंपोर्ट किया जा सकता है.

यह तब ज़्यादा काम आता है, जब आपका ऐप्लिकेशन Firebase के किसी एक प्रॉडक्ट का इस्तेमाल करता है. ऐसा इसलिए, क्योंकि अलग-अलग .unitypackage फ़ाइलों में सभी ज़रूरी डिपेंडेंसी होती हैं. साथ ही, .tgz फ़ाइलों को उन .tgz फ़ाइलों के साथ लिस्ट किया जाता है जिन पर वे निर्भर करती हैं.

इस पेज पर, Unity पैकेज मैनेजर से जुड़े निर्देश दिए गए हैं. इसलिए, Unity के दस्तावेज़ से इस टूल के बारे में जानकारी हासिल करना एक अच्छा आइडिया है.

Firebase पैकेज को ऐसेट के तौर पर इंपोर्ट करना

Unity साइट के लिए Google API से डाउनलोड की गई .unitypackage फ़ाइलों से Firebase प्रॉडक्ट इंपोर्ट करते समय, इन बातों का ध्यान रखें:

  • अगर आपके प्रोजेक्ट में Firebase के कई प्रॉडक्ट इस्तेमाल किए जा रहे हैं, तो आपको Firebase के सभी प्रॉडक्ट को एक ही वर्शन में डाउनलोड और अपग्रेड करना होगा.

  • एक ही प्रोजेक्ट में, इंपोर्ट करने के अलग-अलग तरीके इस्तेमाल न करें. इसका मतलब है कि ऐसेट पैकेज फ़्लो और Unity पैकेज मैनेजर फ़्लो का इस्तेमाल करके, Firebase प्रॉडक्ट इंपोर्ट न करें.

डाउनलोड करने के बाद, इंपोर्ट करने के लिए:

  1. अपने खुले हुए Unity प्रोजेक्ट में, Assets > Import Package > Custom Package पर जाएं.

  2. Import Unity Package विंडो में, Import पर क्लिक करें.

Unity Package Manager का इस्तेमाल करके Firebase पैकेज इंपोर्ट करना

Unity के लिए Google API के संग्रह से डाउनलोड की गई .tgz फ़ाइलों से Firebase प्रॉडक्ट इंपोर्ट करते समय, इन बातों का ध्यान रखें:

  • यह तरीका सिर्फ़ 2018.3 और इसके बाद के वर्शन में उपलब्ध है.

  • अगर आपके प्रोजेक्ट में Firebase के कई प्रॉडक्ट इस्तेमाल किए जा रहे हैं, तो आपको Firebase के सभी प्रॉडक्ट को एक ही वर्शन में डाउनलोड और अपग्रेड करना होगा.

  • एक ही प्रोजेक्ट में, इंपोर्ट करने के अलग-अलग तरीके इस्तेमाल न करें. इसका मतलब है कि ऐसेट पैकेज फ़्लो और Unity पैकेज मैनेजर फ़्लो, दोनों का इस्तेमाल करके Firebase प्रॉडक्ट इंपोर्ट न करें.

  • हर प्रॉडक्ट की .tgz फ़ाइल के लिए डिपेंडेंसी, उनकी अपनी .tgz फ़ाइलों में लिंक की जाती हैं. आपको प्रॉडक्ट .tgz फ़ाइल और डिपेंडेंसी .tgz फ़ाइलें, सही क्रम में डाउनलोड और इंपोर्ट करनी होंगी:

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. आपके प्रोजेक्ट में इस्तेमाल किए गए Firebase प्रॉडक्ट. अगर Realtime Database या Cloud Storage का इस्तेमाल किया जाता है, तो पहले Authentication (com.google.firebase.auth) को इंपोर्ट करें.

डाउनलोड करने के बाद, इनमें से किसी एक तरीके का इस्तेमाल करके, .tgz फ़ाइलों को अपने प्रोजेक्ट में इंपोर्ट करें:

Package Manager का यूज़र इंटरफ़ेस (यूआई)

  1. Unity की पैकेज मैनेजर विंडो खोलें.
  2. पैकेज मैनेजर विंडो के सबसे ऊपर बाएं कोने में मौजूद, + आइकॉन पर क्लिक करें. इसके बाद, फ़ाइल ब्राउज़र खोलने के लिए Add package from tarball को चुनें.
  3. फ़ाइल ब्राउज़र में, अपनी पसंद की टारबॉल फ़ाइल चुनें.

Unity 2019 के कुछ पुराने वर्शन में, टारबॉल को सीधे तौर पर जोड़ने की सुविधा काम नहीं करती. इस मामले में, आपको ये काम करने होंगे:

  1. .tgz फ़ाइल को अनज़िप करें.
  2. पैकेज मैनेजर विंडो के सबसे ऊपर बाएं कोने में मौजूद, + आइकॉन पर क्लिक करें. इसके बाद, फ़ाइल ब्राउज़र खोलने के लिए Add package from disk को चुनें.
  3. फ़ाइल ब्राउज़र में, एक्सट्रैक्ट किया गया फ़ोल्डर चुनें.

manifest.json

  1. अपने प्रोजेक्ट के Packages फ़ोल्डर के बगल में एक नया फ़ोल्डर बनाएं और उसे GooglePackages नाम दें.
  2. .tgz फ़ाइलों को उस फ़ोल्डर में डालें.
  3. अपने Unity प्रोजेक्ट फ़ोल्डर में Packages/manifest.json को खोलने के लिए, टेक्स्ट एडिटर का इस्तेमाल करें.
  4. आपको जो भी पैकेज इंपोर्ट करना है उसके लिए एक एंट्री जोड़ें. इसके लिए, पैकेज के नाम को डिस्क पर मौजूद जगह से मैप करें. .tgz फ़ाइल पाथ में file: जोड़ना न भूलें. उदाहरण के लिए, अगर आपको com.google.firebase.storage और इसकी डिपेंडेंसी इंपोर्ट करनी है, तो आपकी manifest.json कुछ इस तरह दिखेगी:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz",
        // com.unity package entries...
      }
    }
    
  5. manifest.json फ़ाइल को सेव करें.

  6. जब Unity फिर से फ़ोकस में आएगा, तो यह manifest.json को फिर से लोड करेगा और नए जोड़े गए पैकेज इंपोर्ट करेगा.

Unity के कुछ पुराने वर्शन, manifest.json में .tgz फ़ाइलों के साथ काम नहीं करते. इस मामले में, आपको:

  1. .tgz फ़ाइल को अनज़िप करें.
  2. .tgz फ़ाइल के बजाय, एक्सट्रैक्ट किए गए फ़ोल्डर के पाथ का इस्तेमाल करने के लिए, अपनी manifest.json में बदलाव करें. जैसे:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0",
        // com.unity package entries...
      }
    }
    

Unity पैकेज मैनेजर से ऐसेट पैकेज पर माइग्रेट करना

कुछ मामलों में, Firebase प्रॉडक्ट को ट्रैक करने के लिए, Unity Package Manager का इस्तेमाल करने के बजाय, Assets फ़ोल्डर में प्रॉडक्ट इंपोर्ट किए जा सकते हैं.

अगर आपको नहीं पता कि इंपोर्ट करने का कौनसा तरीका इस्तेमाल किया जा रहा है, तो अपने Unity प्रोजेक्ट फ़ोल्डर में, Packages/manifest.json फ़ाइल खोलें. अगर फ़ाइल में com.google.firebase से शुरू होने वाली एंट्री मौजूद हैं, तो इसका मतलब है कि आपके प्रोजेक्ट में Unity Package Manager का इस्तेमाल करके इंपोर्ट किया गया है.

ऐसेट पैकेज पर माइग्रेट करने के लिए:

  1. अपने प्रोजेक्ट में मौजूदा Firebase पैकेज के वर्शन नोट करें और उन्हें हटाएं.

    1. Window मेन्यू में जाकर, Package Manager को चुनें. Package Manager विंडो में, पक्का करें कि "Packages: In Project" चुना गया हो.
    2. इंपोर्ट किए गए Firebase पैकेज के वर्शन नोट करें.
    3. हर पैकेज के नाम पर क्लिक करें. इसके बाद, हटाएं पर क्लिक करें. Firebase पैकेज के साथ-साथ, External Dependency Manager पैकेज (.com.google.external-dependency-manager) को भी हटाना न भूलें.
  2. बदली गई .unitypackage फ़ाइलें डाउनलोड और इंपोर्ट करें. आपके पास दो विकल्प हैं:

    • अगर आपके पास हर पैकेज के नए वर्शन पर अपग्रेड करने का विकल्प है, तो Firebase Unity SDK की ZIP फ़ाइल डाउनलोड करें. इसके बाद, अपने Unity प्रोजेक्ट में Firebase जोड़ें में बताए गए तरीके से इंपोर्ट करें.
    • अगर आपको .unitypackage के मौजूदा वर्शन को सेव रखना है, तो इस पेज पर ऊपर बताए गए तरीके से अलग-अलग पैकेज डाउनलोड और इंपोर्ट किए जा सकते हैं.

ऐसेट पैकेज से Unity Package Manager पर माइग्रेट करना

कुछ मामलों में, ऐसा हो सकता है कि आप Assets फ़ोल्डर में प्रॉडक्ट इंपोर्ट करने के बजाय, Unity Package Manager की मदद से प्रॉडक्ट इंपोर्ट और ट्रैक करना चाहें.

अगर आपको नहीं पता कि इंपोर्ट करने का कौनसा तरीका इस्तेमाल किया जा रहा है, तो अपने Unity प्रोजेक्ट फ़ोल्डर में, Packages/manifest.json फ़ाइल खोलें. अगर फ़ाइल में com.google.firebase से शुरू होने वाली एंट्री मौजूद हैं, तो इसका मतलब है कि आपका प्रोजेक्ट, इंपोर्ट करने के लिए पहले से ही Unity Package Manager का इस्तेमाल कर रहा है.

Unity Package Manager पर माइग्रेट करने के लिए:

  1. पक्का करें कि सभी Firebase पैकेज और External Dependency Manager पैकेज को Assets फ़ोल्डर से हटा दिया गया हो. इसके लिए, इनमें से किसी एक तरीके का इस्तेमाल करें.

    EDM4U यूज़र इंटरफ़ेस (यूआई)

    1. अपने खुले हुए Unity प्रोजेक्ट में, Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages पर जाएं.
    2. सभी Firebase पैकेज और External Dependency Manager को चुनें.
    3. Uninstall Selected Package पर क्लिक करें.

    मैन्युअल तरीके से हटाना

    फ़ाइल सिस्टम टूल का इस्तेमाल करके, इन फ़ोल्डर को मैन्युअल तरीके से मिटाएं:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. इस पेज पर ऊपर बताए गए तरीके से, Unity Package Manager का इस्तेमाल करके पैकेज इंपोर्ट करें.