به جای دانلود یک فایل .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 وارد نکنید.
پس از دانلود، برای وارد کردن:
در پروژه Unity باز خود، به Assets > Import Package > Custom Package بروید.
در پنجره 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وابستگی را به ترتیب صحیح دانلود و وارد کنید:- مدیر وابستگی خارجی (
com.google.external-dependency-manager) - Firebase Core (
com.google.firebase.app) - محصولات Firebase مورد استفاده در پروژه شما. اگر از Realtime Database یا Cloud Storage استفاده میکنید، ابتدا Authentication (
com.google.firebase.auth) را وارد کنید.
- مدیر وابستگی خارجی (
پس از دانلود، فایلهای .tgz را با استفاده از یکی از روشهای زیر وارد پروژه خود کنید:
UI مدیر بسته
- پنجره Unity's Package Manager را باز کنید.
- روی نماد
+در گوشه سمت چپ بالای پنجره Package Manager کلیک کنید وAdd package from tarballرا انتخاب کنید تا مرورگر فایل باز شود. - تربال مورد نظر را در مرورگر فایل انتخاب کنید.
برخی از نسخههای قدیمیتر Unity 2019 از افزودن مستقیم تاربال پشتیبانی نمیکنند. در این مورد، شما نیاز دارید:
- فایل
.tgzرا از حالت فشرده خارج کنید. - روی نماد
+در گوشه سمت چپ بالای پنجره Package Manager کلیک کنید وAdd package from diskرا انتخاب کنید تا مرورگر فایل باز شود. - پوشه استخراج شده را در مرورگر فایل انتخاب کنید.
manifest.json
- یک پوشه جدید در کنار پوشه
Packagesپروژه خود ایجاد کنید و نام آن راGooglePackagesبگذارید. - فایل های
.tgzرا در آن پوشه قرار دهید. - از یک ویرایشگر متن برای باز کردن
Packages/manifest.jsonدر پوشه پروژه Unity خود استفاده کنید. برای هر بسته ای که می خواهید وارد کنید یک ورودی اضافه کنید و نام بسته را به مکان روی دیسک نگاشت کنید. حتما
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... } }فایل
manifest.jsonرا ذخیره کنید.هنگامی که یونیتی فوکوس خود را به دست آورد،
manifest.jsonرا دوباره بارگیری می کند و بسته های تازه اضافه شده را وارد می کند.
برخی از نسخههای قدیمیتر Unity از فایلهای .tgz در manifest.json پشتیبانی نمیکنند. در این صورت باید:
- فایل
.tgzرا از حالت فشرده خارج کنید. 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 برای وارد کردن استفاده میکند.
برای انتقال به بستههای دارایی:
به نسخه های فعلی بسته Firebase در پروژه خود توجه کنید و آنها را حذف کنید.
- از منوی پنجره ، Package Manager را انتخاب کنید. در پنجره Package Manager ، مطمئن شوید که "Packages: In Project" انتخاب شده است.
- به نسخه های بسته های Firebase وارد شده توجه کنید.
- روی نام هر بسته کلیک کنید، سپس روی حذف کلیک کنید. حتماً بسته External Dependency Manager (
.com.google.external-dependency-manager) و همچنین بسته های Firebase را حذف کنید.
فایلهای
.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:
مطمئن شوید که تمام بستههای Firebase و بسته External Dependency Manager با استفاده از یکی از روشهای زیر از پوشه
Assetsحذف شدهاند.رابط کاربری EDM4U
- در پروژه Unity باز خود، به Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages بروید.
- همه بسته های Firebase و External Dependency Manager را انتخاب کنید.
- روی Uninstall Selected Package کلیک کنید.
حذف دستی
با استفاده از ابزارهای سیستم فایل، پوشه های زیر را به صورت دستی حذف کنید:
-
Assets/Editor Default Resources/Firebase -
Assets/ExternalDependencyManager -
Assets/Firebase -
Assets/Parse -
Assets/Plugins/iOS/Firebase
بسته ها را با استفاده از Unity Package Manager وارد کنید، همانطور که در بالا در این صفحه توضیح داده شد.