Вместо того чтобы загружать большой .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, поэтому будет полезно узнать об этом инструменте из документации Unity .
Импортировать пакеты Firebase как активы
При импорте продуктов Firebase из файлов .unitypackage
, загруженных с сайта Google APIs для Unity , имейте в виду следующее:
Если вы используете несколько продуктов Firebase в своем проекте, вам необходимо загрузить и обновить все продукты Firebase до одной и той же версии.
Не смешивайте методы импорта в одном проекте. То есть не импортируйте продукты Firebase с помощью потока Asset package и с помощью потока Unity Package Manager.
После загрузки, чтобы импортировать:
В открытом проекте Unity перейдите в раздел Assets > Import Package > Custom Package .
В окне «Импорт пакета Unity» нажмите «Импорт» .
Импорт пакетов Firebase с помощью Unity Package Manager
При импорте продуктов Firebase из файлов .tgz
, загруженных из архива Google APIs для Unity , помните следующее:
Этот метод доступен только в версии 2018.3+.
Если вы используете несколько продуктов Firebase в своем проекте, вам необходимо загрузить и обновить все продукты Firebase до одной и той же версии.
Не смешивайте методы импорта в одном проекте. То есть не импортируйте продукты Firebase с потоком Asset package и с потоком Unity Package Manager.
Зависимости для каждого файла
.tgz
продукта связаны в их собственных файлах.tgz
. Вам необходимо загрузить и импортировать файл.tgz
продукта и файлы зависимостей.tgz
в правильном порядке:- Менеджер внешних зависимостей (
com.google.external-dependency-manager
) - Ядро Firebase (
com.google.firebase.app
) - Продукты Firebase, используемые в вашем проекте. Если вы используете Realtime Database или Cloud Storage , сначала импортируйте Authentication (
com.google.firebase.auth
).
- Менеджер внешних зависимостей (
После загрузки импортируйте файлы .tgz
в свой проект одним из следующих способов:
Пользовательский интерфейс менеджера пакетов
- Откройте окно диспетчера пакетов Unity.
- Щелкните значок
+
в верхнем левом углу окна диспетчера пакетов и выберитеAdd package from tarball
чтобы открыть обозреватель файлов. - Выберите нужный tar-архив в файловом браузере.
Некоторые старые версии Unity 2019 не поддерживают добавление tarballs напрямую. В этом случае вам нужно будет:
- Разархивируйте файл
.tgz
. - Щелкните значок
+
в верхнем левом углу окна диспетчера пакетов и выберитеAdd package from disk
, чтобы открыть браузер файлов. - Выберите извлеченную папку в файловом браузере.
манифест.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 на Asset packages
В некоторых случаях вам может потребоваться перейти от использования Unity Package Manager для отслеживания продуктов Firebase к импорту продуктов в папку Assets
.
Если вы не уверены, какой метод импорта вы используете, в папке проекта Unity откройте файл Packages/manifest.json
. Если файл содержит записи, начинающиеся с com.google.firebase
, ваш проект использовал Unity Package Manager для импорта.
Для перехода на пакеты активов:
Обратите внимание на текущие версии пакетов Firebase в вашем проекте и удалите их.
- В меню Окно выберите Диспетчер пакетов . В окне Диспетчер пакетов убедитесь, что выбрано «Пакеты: В проекте».
- Обратите внимание на версии импортированных пакетов 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.
Если вы не уверены, какой метод импорта вы используете, в папке проекта Unity откройте файл Packages/manifest.json
. Если файл содержит записи, начинающиеся с com.google.firebase
ваш проект уже использует Unity Package Manager для импорта.
Чтобы перейти на Unity Package Manager:
Убедитесь, что все пакеты Firebase и пакет External Dependency Manager удалены из папки
Assets
, используя один из следующих методов.Пользовательский интерфейс EDM4U
- В открытом проекте Unity перейдите в раздел Активы > Менеджер внешних зависимостей > Обработчик версий > Удалить управляемые пакеты .
- Выберите все пакеты Firebase и диспетчер внешних зависимостей.
- Нажмите Удалить выбранный пакет .
Ручное удаление
Используя инструменты файловой системы, вручную удалите следующие папки:
-
Assets/Editor Default Resources/Firebase
-
Assets/ExternalDependencyManager
-
Assets/Firebase
-
Assets/Parse
-
Assets/Plugins/iOS/Firebase
Импортируйте пакеты с помощью Unity Package Manager, как описано выше на этой странице.