گزینه های اضافی نصب Unity

به جای دانلود یک فایل .zip بزرگ حاوی همه فایل‌های .unitypackage برای NET 3.X و NET 4.X، می‌توانید بسته‌های جداگانه را از سایت Google APIs for Unity دانلود کنید.

سایت ارائه می دهد:

  • فایل‌های .unitypackage .NET 4.X برای وارد کردن به عنوان بسته‌های دارایی.
  • بایگانی‌های .tgz فردی برای وارد کردن با استفاده از Unity Package Manager.

این به ویژه زمانی مفید است که برنامه شما از یک محصول Firebase استفاده می‌کند، زیرا فایل‌های .unitypackage منفرد حاوی تمام وابستگی‌های مورد نیاز هستند و فایل‌های .tgz در کنار فایل‌های .tgz مرتبط فهرست شده‌اند که به آن‌ها وابسته هستند.

این صفحه دستورالعمل های مربوط به Unity Package Manager را ارائه می دهد، بنابراین ایده خوبی است که در مورد ابزار از مستندات Unity بیاموزید.

بسته های Firebase را به عنوان دارایی وارد کنید

هنگام وارد کردن محصولات Firebase از فایل‌های .unitypackage دانلود شده از Google APIs for Unity ، موارد زیر را در نظر داشته باشید:

  • اگر از چندین محصول Firebase در پروژه خود استفاده می کنید، باید همه محصولات Firebase را دانلود و به یک نسخه ارتقا دهید.

  • روش های واردات را در یک پروژه مخلوط نکنید. یعنی محصولات Firebase را با جریان بسته Asset و با استفاده از جریان Unity Package Manager وارد نکنید.

پس از دانلود، برای وارد کردن:

  1. در پروژه Unity باز خود، به Assets > Import Package > Custom Package بروید.

  2. در پنجره Import Unity Package ، روی Import کلیک کنید.

بسته های Firebase را با استفاده از Unity Package Manager وارد کنید

هنگام وارد کردن محصولات Firebase از فایل‌های .tgz دانلود شده از Google APIs for Unity ، موارد زیر را در نظر داشته باشید:

  • این روش فقط در سال 2018.3+ موجود است.

  • اگر از چندین محصول Firebase در پروژه خود استفاده می کنید، باید همه محصولات Firebase را دانلود و به یک نسخه ارتقا دهید.

  • روش های واردات را در یک پروژه مخلوط نکنید. یعنی محصولات Firebase را با جریان بسته Asset و با جریان Unity Package Manager وارد نکنید.

  • وابستگی‌های هر فایل .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 را با استفاده از یکی از روش‌های زیر وارد پروژه خود کنید:

UI مدیر بسته

  1. پنجره Unity's Package Manager را باز کنید.
  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. از یک ویرایشگر متن برای باز کردن Packages/manifest.json در پوشه پروژه Unity خود استفاده کنید.
  4. برای هر بسته ای که می خواهید وارد کنید یک ورودی اضافه کنید و نام بسته را به مکان روی دیسک نگاشت کنید. حتما file: را به مسیر فایل .tgz اضافه کنید. به عنوان مثال، اگر شما 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. هنگامی که یونیتی فوکوس خود را به دست آورد، manifest.json را دوباره بارگیری می کند و بسته های تازه اضافه شده را وارد می کند.

برخی از نسخه‌های قدیمی‌تر Unity از فایل‌های .tgz در manifest.json پشتیبانی نمی‌کنند. در این صورت باید:

  1. فایل .tgz را از حالت فشرده خارج کنید.
  2. manifest.json خود را ویرایش کنید تا به جای فایل .tgz از مسیر پوشه استخراج شده استفاده کنید، مانند این:

    {
      "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 به بسته های Asset مهاجرت کنید

در برخی موارد، ممکن است بخواهید از استفاده از Unity Package Manager برای ردیابی محصولات Firebase به وارد کردن محصولات در پوشه Assets تغییر دهید.

اگر مطمئن نیستید که از کدام روش واردات استفاده می‌کنید، در پوشه پروژه Unity، فایل Packages/manifest.json را باز کنید. اگر فایل حاوی ورودی‌هایی است که با com.google.firebase شروع می‌شوند، پروژه شما از Unity Package Manager برای وارد کردن استفاده می‌کند.

برای انتقال به بسته‌های دارایی:

  1. به نسخه های فعلی بسته Firebase در پروژه خود توجه کنید و آنها را حذف کنید.

    1. از منوی پنجره ، Package Manager را انتخاب کنید. در پنجره Package Manager ، مطمئن شوید که "Packages: In Project" انتخاب شده است.
    2. به نسخه های بسته های Firebase وارد شده توجه کنید.
    3. روی نام هر بسته کلیک کنید، سپس روی حذف کلیک کنید. حتماً بسته External Dependency Manager ( .com.google.external-dependency-manager ) و همچنین بسته های Firebase را حذف کنید.
  2. فایل‌های .unitypackage جایگزین را دانلود و وارد کنید. شما دو گزینه دارید:

    • اگر می‌توانید به آخرین نسخه هر بسته ارتقا دهید، فایل فشرده Firebase Unity SDK را دانلود کرده و همانطور که در افزودن Firebase به پروژه Unity خود توضیح داده شده است، وارد کنید.
    • اگر نیاز به حفظ نسخه‌های .unitypackage فعلی دارید، می‌توانید بسته‌های جداگانه را همانطور که در بالا در این صفحه توضیح داده شد دانلود و وارد کنید.

از بسته‌های Asset به 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 وارد کنید، همانطور که در بالا در این صفحه توضیح داده شد.