Вместо загрузки большого .zip
файла, содержащего все файлы .unitypackage
для .NET 3.X и .NET 4.X, вы можете загрузить отдельные пакеты с сайта Google API для Unity .
Сайт предоставляет:
- Отдельные файлы .NET 4.X
.unitypackage
для импорта как пакеты активов. - Отдельные архивы
.tgz
для импорта с помощью диспетчера пакетов Unity.
Это особенно полезно, когда ваше приложение использует один продукт Firebase, поскольку отдельные файлы .unitypackage
содержат все необходимые зависимости, а файлы .tgz
перечислены рядом со связанными файлами .tgz
, от которых они зависят.
На этой странице представлены инструкции по использованию Unity Package Manager, поэтому рекомендуется узнать об этом инструменте из документации Unity .
Импортируйте пакеты Firebase как ресурсы
При импорте продуктов Firebase из файлов .unitypackage
загруженных с сайта API Google для Unity , имейте в виду следующее:
Если вы используете в своем проекте несколько продуктов Firebase, вам необходимо загрузить и обновить все продукты Firebase до одной и той же версии.
Не смешивайте методы импорта в одном проекте. То есть не импортируйте продукты Firebase с потоком пакета активов и с помощью потока диспетчера пакетов Unity.
После загрузки для импорта:
В открытом проекте Unity перейдите в Assets > Import Package > Custom Package .
В окне «Импорт пакета Unity» нажмите «Импорт» .
Импортируйте пакеты Firebase с помощью диспетчера пакетов Unity.
При импорте продуктов Firebase из файлов .tgz
, загруженных из архива API Google для Unity , имейте в виду следующее:
Этот метод доступен только в версии 2018.3+.
Если вы используете в своем проекте несколько продуктов Firebase, вам необходимо загрузить и обновить все продукты Firebase до одной и той же версии.
Не смешивайте методы импорта в одном проекте. То есть не импортируйте продукты Firebase с помощью потока пакета активов и потока диспетчера пакетов Unity.
Зависимости для каждого файла
.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
в свой проект одним из следующих способов:
Пользовательский интерфейс диспетчера пакетов
- Откройте окно диспетчера пакетов Unity.
- Нажмите значок
+
в верхнем левом углу окна «Диспетчер пакетов» и выберитеAdd package from tarball
чтобы открыть браузер файлов. - Выберите нужный архив в браузере файлов.
Некоторые старые версии Unity 2019 не поддерживают прямое добавление архивов. В этом случае вам нужно будет:
- Разархивируйте файл
.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 на пакеты активов
В некоторых случаях вам может потребоваться переключиться с использования Unity Package Manager для отслеживания продуктов Firebase на импорт продуктов в папку Assets
.
Если вы не уверены, какой метод импорта используете, в папке проекта Unity откройте файл Packages/manifest.json
. Если файл содержит записи, начинающиеся с com.google.firebase
, ваш проект использовал для импорта диспетчер пакетов Unity.
Чтобы перейти на пакеты активов:
Обратите внимание на текущие версии пакетов Firebase в вашем проекте и удалите их.
- В меню «Окно» выберите «Диспетчер пакетов» . В окне «Диспетчер пакетов » убедитесь, что выбран «Пакеты: в проекте».
- Обратите внимание на версии импортированных пакетов Firebase.
- Нажмите на имя каждого пакета, затем нажмите «Удалить» . Обязательно удалите пакет диспетчера внешних зависимостей (
.com.google.external-dependency-manager
), а также пакеты Firebase.
Загрузите и импортируйте заменяющие файлы
.unitypackage
. У вас есть два варианта:- Если вы можете обновить каждый пакет до последней версии, загрузите zip-файл Firebase Unity SDK и импортируйте его, как описано в разделе «Добавление Firebase в проект Unity» .
- Если вам необходимо сохранить текущие версии
.unitypackage
, вы можете загрузить и импортировать отдельные пакеты, как описано выше на этой странице.
Миграция с пакетов активов на диспетчер пакетов Unity
В некоторых случаях вам может потребоваться переключиться с импорта продуктов из папки Assets
на импорт и отслеживание продуктов с помощью Unity Package Manager.
Если вы не уверены, какой метод импорта используете, в папке проекта Unity откройте файл Packages/manifest.json
. Если файл содержит записи, начинающиеся с com.google.firebase
ваш проект уже использует диспетчер пакетов Unity для импорта.
Чтобы перейти на диспетчер пакетов Unity:
Убедитесь, что все пакеты Firebase и пакет диспетчера внешних зависимостей удалены из папки
Assets
, используя любой из следующих методов.Интерфейс EDM4U
- В открытом проекте Unity перейдите в раздел «Активы» > «Диспетчер внешних зависимостей» > «Обработчик версий» > «Удалить управляемые пакеты» .
- Выберите все пакеты Firebase и диспетчер внешних зависимостей.
- Нажмите «Удалить выбранный пакет» .
Удаление вручную
Используя инструменты файловой системы, вручную удалите следующие папки:
-
Assets/Editor Default Resources/Firebase
-
Assets/ExternalDependencyManager
-
Assets/Firebase
-
Assets/Parse
-
Assets/Plugins/iOS/Firebase
Импортируйте пакеты с помощью диспетчера пакетов Unity, как описано выше на этой странице.