Дополнительные варианты установки Unity

Вместо того чтобы скачивать большой файл .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.

Чтобы импортировать скачанные данные:

  1. В открытом проекте Unity выберите Assets (Объекты) > Import Package (Импортировать пакет) > Custom Package (Собственный пакет).

  2. В окне 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 в правильном порядке:

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. Продукты Firebase, используемые в вашем проекте. Если вы используете Realtime Database или Cloud Storage, сначала импортируйте Authentication (com.google.firebase.auth).

После скачивания импортируйте файлы .tgz в проект одним из следующих способов:

Интерфейс Package Manager

  1. Откройте окно Package Manager (Менеджер пакетов) в Unity.
  2. Нажмите на значок + в левом верхнем углу окна Package Manager и выберите Add package from tarball, чтобы открыть файловый браузер.
  3. Выберите нужный tar-архив в файловом браузере.

Некоторые старые версии Unity 2019 не поддерживают добавление tar-архивов напрямую. В этом случае вам потребуется:

  1. Распакуйте файл .tgz.
  2. Нажмите на значок + в левом верхнем углу окна Package Manager и выберите Add package from disk, чтобы открыть файловый браузер.
  3. Выберите извлеченную папку в файловом браузере.

manifest.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. Когда фокус вернется к Unity, он перезагрузит 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 на пакеты объектов

В некоторых случаях вы можете захотеть перейти от использования Unity Package Manager для отслеживания продуктов Firebase к импорту продуктов в папку Assets.

Если вы не знаете, какой метод импорта используется, откройте файл Packages/manifest.json в папке проекта Unity. Если файл содержит записи, начинающиеся с com.google.firebase, то для импорта в проекте использовался менеджер пакетов Unity.

Чтобы перейти на пакеты объектов, выполните следующие действия:

  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 для замены. Доступны два варианта.

    • Если вы можете обновить каждый пакет до последней версии, скачайте 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, выполните следующие действия:

  1. Убедитесь, что все пакеты Firebase и пакет External Dependency Manager удалены из папки Assets. Это можно сделать одним из следующих способов:

    Интерфейс EDM4U

    1. В открытом проекте Unity выберите Assets (Объекты) > External Dependency Manager (Менеджер внешних зависимостей) > Version Handler (Обработчик версий) > Uninstall Managed Packages (Удалить управляемые пакеты).
    2. Выберите все пакеты Firebase и External Dependency Manager.
    3. Нажмите Uninstall Selected Package (Удалить выбранный пакет).

    Удаление вручную

    Используя средства файловой системы, вручную удалите следующие папки:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. Импортируйте пакеты с помощью Unity Package Manager, как описано выше на этой странице.