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

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

این سایت موارد زیر را ارائه می‌دهد:

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

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

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

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

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

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

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

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

  1. در پروژه Unity بازشده، به دارایی‌ها > وارد کردن بسته > بسته سفارشی بروید.

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

وارد کردن بسته‌های Firebase بااستفاده از «مدیر بسته Unity»

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

  • این روش فقط در نسخه 2018.3+ دردسترس است.

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

  • روش‌های وارد کردن را در یک پروژه ترکیب نکنید. یعنی محصولات Firebase را با جریان بسته «دارایی» و جریان 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 را بااستفاده از یکی از روش‌های زیر به پروژه‌تان وارد کنید:

میانای کاربر مدیر بسته

  1. پنجره Unity Package Manager را باز کنید.
  2. روی نماد + در گوشه بالا سمت راست پنجره «مدیر بسته» کلیک کنید و Add package from tarball را انتخاب کنید تا مرورگر فایل باز شود.
  3. tarball موردنظر را در مرورگر فایل انتخاب کنید.

برخی‌از نسخه‌های قدیمی‌تر Unity 2019 از افزودن مستقیم tarball پشتیبانی نمی‌کنند. در این صورت، باید:

  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. وقتی Unity دوباره تمرکز را به‌دست آورد، 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 به بسته‌های دارایی

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

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

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

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

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

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

انتقال از بسته‌های دارایی به Unity Package Manager

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

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

برای انتقال به Unity Package Manager:

  1. مطمئن شوید همه بسته‌های Firebase و بسته «مدیر وابستگی خارجی» بااستفاده از یکی از روش‌های زیر از پوشه Assets برداشته شده باشند.

    میانای کاربر EDM4U

    1. در پروژه Unity بازشده، به Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages بروید.
    2. همه بسته‌های Firebase و «مدیر وابستگی خارجی» را انتخاب کنید.
    3. روی حذف نصب بسته انتخابی کلیک کنید.

    برداشتن دستی

    بااستفاده از ابزارهای سیستم فایل، پوشه‌های زیر را به‌صورت دستی حذف کنید:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. بسته‌ها را بااستفاده از Unity Package Manager وارد کنید، همان‌طور که در بالا در این صفحه توضیح داده شده است.