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

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

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

  • فایل‌های .NET 4.X .unitypackage تکی برای وارد کردن به عنوان بسته‌های Asset.
  • فایل‌های آرشیو .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. در پنجره‌ی «وارد کردن بسته‌ی یونیتی» ، روی «وارد کردن» کلیک کنید.

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

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

  • این روش فقط در نسخه‌های ۲۰۱۸.۳ به بالا در دسترس است.

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

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

  • وابستگی‌های هر محصول با پسوند .tgz در فایل‌های .tgz مخصوص به خود لینک شده‌اند. شما باید فایل .tgz محصول و فایل‌های وابستگی .tgz را به ترتیب صحیح دانلود و وارد کنید:

    1. مدیر وابستگی خارجی ( com.google.external-dependency-manager )
    2. هسته فایربیس ( com.google.firebase.app )
    3. محصولات Firebase که در پروژه شما استفاده می‌شوند. اگر از Realtime Database یا Cloud Storage استفاده می‌کنید، ابتدا Authentication ( com.google.firebase.auth ) را وارد کنید.

پس از دانلود، فایل‌های .tgz را با استفاده از یکی از روش‌های زیر به پروژه خود وارد کنید:

رابط کاربری مدیریت بسته‌ها

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

برخی از نسخه‌های قدیمی‌تر یونیتی ۲۰۱۹ از اضافه کردن مستقیم tarballها پشتیبانی نمی‌کنند. در این صورت، شما باید:

  1. فایل .tgz را از حالت فشرده خارج کنید.
  2. روی آیکون + در گوشه سمت چپ بالای پنجره Package Manager کلیک کنید و گزینه Add package from disk را انتخاب کنید تا مرورگر فایل باز شود.
  3. پوشه استخراج شده را در مرورگر فایل انتخاب کنید.

مانیفست.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. از منوی Window ، گزینه 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. در پروژه یونیتی که باز کرده‌اید، به مسیر Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages بروید.
    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، همانطور که در بالا در این صفحه توضیح داده شده است، وارد کنید.