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

Вместо того чтобы скачивать большой файл .zip, содержащий все файлы .unitypackage для .NET 3.X и .NET 4.X, вы можете скачать отдельные пакеты с сайта Google APIs for Unity.

На сайте можно:

  • Отдельные файлы .NET 4.X .unitypackage, которые нужно импортировать как пакеты объектов.
  • Отдельные архивы .tgz для импорта с помощью менеджера пакетов Unity.

Это особенно полезно, если в приложении используется только один продукт Firebase, поскольку отдельные файлы .unitypackage содержат все необходимые зависимости, а файлы .tgz перечислены рядом с файлами .tgz, от которых они зависят.

На этой странице приведены инструкции по работе с менеджером пакетов Unity, поэтому рекомендуем ознакомиться с документацией Unity.

Как импортировать пакеты Firebase в качестве объектов

При импорте продуктов Firebase из файлов .unitypackage, скачанных с сайта API Google для Unity, учитывайте следующее:

  • Если в проекте используется несколько продуктов 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 с помощью пакета объектов и менеджера пакетов Unity.

  • Зависимости для каждого файла .tgz связаны с собственными файлами .tgz. Вам нужно скачать и импортировать файл товара .tgz и файлы зависимостей .tgz в правильном порядке:

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

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

Интерфейс менеджера пакетов

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

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

  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 на пакеты объектов

В некоторых случаях вам может потребоваться перейти с использования Менеджера пакетов Unity для отслеживания продуктов 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

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

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

Чтобы перейти на 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. Нажмите Удалить выбранный пакет.

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

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

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