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

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

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

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

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

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

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

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

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

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

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

  1. अपने खुले हुए यूनिटी प्रोजेक्ट में, एसेट > पैकेज इंपोर्ट करें > कस्टम पैकेज पर जाएं.

  2. Unity पैकेज को इंपोर्ट करें विंडो में, इंपोर्ट करें पर क्लिक करें.

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

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

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

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

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

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

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

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

पैकेज मैनेजर का यूज़र इंटरफ़ेस (यूआई)

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

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

  1. .tgz फ़ाइल को अनज़िप करें.
  2. फ़ाइल ब्राउज़र खोलने के लिए, Package Manager विंडो के सबसे ऊपर बाएं कोने में मौजूद + आइकॉन पर क्लिक करें और 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 Package Manager से ऐसेट पैकेज पर माइग्रेट करना

कुछ मामलों में, शायद आप Unity पैकेज मैनेजर का इस्तेमाल करके, Firebase प्रॉडक्ट को ट्रैक करने की जगह Assets फ़ोल्डर में प्रॉडक्ट इंपोर्ट करना चाहें.

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

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

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

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

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

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

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

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

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

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

    EDM4U का यूज़र इंटरफ़ेस

    1. अपने खुले हुए यूनिटी प्रोजेक्ट में, एसेट > बाहरी डिपेंडेंसी मैनेजर > वर्शन हैंडलर > मैनेज किए जा रहे पैकेज अनइंस्टॉल करें पर जाएं.
    2. सभी Firebase पैकेज और External Dependency Manager चुनें.
    3. चुने गए पैकेज को अनइंस्टॉल करें पर क्लिक करें.

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

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

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