Вместо того чтобы скачивать большой файл .zip, содержащий все файлы .unitypackage для .NET 3.X и .NET 4.X, вы можете скачать отдельные пакеты с сайта API Google для Unity.
На сайте есть:
- Отдельные файлы .NET 4.X
.unitypackage, которые нужно импортировать как пакеты объектов. - Отдельные архивы
.tgz, которые можно импортировать с помощью Unity Package Manager.
Это особенно удобно, если в вашем приложении используется только один продукт Firebase, поскольку отдельные файлы .unitypackage содержат все необходимые зависимости, а файлы .tgz перечислены вместе со связанными файлами .tgz, от которых они зависят.
В инструкциях на этой странице упоминается Unity Package Manager. Рекомендуем ознакомиться с документацией по этому инструменту.
Импорт пакетов Firebase в качестве объектов
При импорте продуктов Firebase из файлов .unitypackage, скачанных с сайта API Google для Unity, учитывайте следующее:
Если вы используете несколько продуктов Firebase в своем проекте, вам необходимо скачать и обновить все продукты Firebase до одной и той же версии.
Не используйте разные методы импорта в одном проекте. То есть не импортируйте продукты Firebase с помощью пакета объектов и менеджера пакетов Unity.
Чтобы импортировать скачанные данные:
В открытом проекте Unity выберите Assets (Объекты) > Import Package (Импортировать пакет) > Custom Package (Собственный пакет).
В окне Import Unity Package нажмите Import.
Импорт пакетов Firebase с помощью Unity Package Manager
При импорте продуктов Firebase из файлов .tgz, скачанных из архива API Google для Unity, учитывайте следующее:
Этот метод доступен только в версии 2018.3 и более поздних.
Если вы используете несколько продуктов Firebase в своем проекте, вам необходимо скачать и обновить все продукты Firebase до одной и той же версии.
Не используйте разные методы импорта в одном проекте. Не импортируйте продукты Firebase с помощью пакета объектов и Unity Package Manager.
Зависимости для каждого файла
.tgzсвязаны с собственными файлами.tgz. Скачайте и импортируйте файл продукта.tgzи файлы зависимостей.tgzв правильном порядке:- External Dependency Manager (
com.google.external-dependency-manager) - Firebase Core (
com.google.firebase.app) - Продукты Firebase, используемые в вашем проекте. Если вы используете Realtime Database или Cloud Storage, сначала импортируйте Authentication (
com.google.firebase.auth).
- External Dependency Manager (
После скачивания импортируйте файлы .tgz в проект одним из следующих способов:
Интерфейс Package Manager
- Откройте окно Package Manager (Менеджер пакетов) в Unity.
- Нажмите на значок
+в левом верхнем углу окна Package Manager и выберитеAdd package from tarball, чтобы открыть файловый браузер. - Выберите нужный tar-архив в файловом браузере.
Некоторые старые версии Unity 2019 не поддерживают добавление tar-архивов напрямую. В этом случае вам потребуется:
- Распакуйте файл
.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.Когда фокус вернется к Unity, он перезагрузит
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 на пакеты объектов
В некоторых случаях вы можете захотеть перейти от использования Unity Package Manager для отслеживания продуктов Firebase к импорту продуктов в папку Assets.
Если вы не знаете, какой метод импорта используется, откройте файл Packages/manifest.json в папке проекта Unity. Если файл содержит записи, начинающиеся с com.google.firebase, то для импорта в проекте использовался менеджер пакетов Unity.
Чтобы перейти на пакеты объектов, выполните следующие действия:
Запишите текущие версии пакетов Firebase в проекте и удалите их.
- В меню Window (Окно) выберите Package Manager (Менеджер пакетов). В окне Package Manager (Менеджер пакетов) убедитесь, что выбран вариант Packages: In Project (Пакеты: в проекте).
- Запишите версии импортированных пакетов Firebase.
- Нажмите на название каждого пакета, а затем выберите Удалить. Удалите пакет External Dependency Manager (
.com.google.external-dependency-manager) и пакеты Firebase.
Скачайте и импортируйте файлы
.unitypackageдля замены. Доступны два варианта.- Если вы можете обновить каждый пакет до последней версии, скачайте ZIP-файл Firebase Unity SDK и импортируйте его, как описано в статье Как добавить Firebase в проект Unity.
- Если вам нужно сохранить текущие версии
.unitypackage, вы можете скачать и импортировать отдельные пакеты, как описано выше на этой странице.
Как перейти с пакетов объектов на Unity Package Manager
В некоторых случаях может потребоваться перейти от импорта продуктов в папке Assets к импорту и отслеживанию продуктов с помощью Unity Package Manager.
Если вы не знаете, какой метод импорта используется, откройте файл Packages/manifest.json в папке проекта Unity. Если в файле есть записи, начинающиеся с 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/FirebaseAssets/ExternalDependencyManagerAssets/FirebaseAssets/ParseAssets/Plugins/iOS/Firebase
Импортируйте пакеты с помощью Unity Package Manager, как описано выше на этой странице.