Дополнительные варианты установки 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, поэтому будет полезно узнать об этом инструменте из документации Unity .

Импортировать пакеты Firebase как активы

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

  • Если вы используете несколько продуктов Firebase в своем проекте, вам необходимо загрузить и обновить все продукты Firebase до одной и той же версии.

  • Не смешивайте методы импорта в одном проекте. То есть не импортируйте продукты Firebase с помощью потока Asset package и с помощью потока Unity Package Manager.

После загрузки, чтобы импортировать:

  1. В открытом проекте Unity перейдите в раздел Assets > Import Package > Custom Package .

  2. В окне «Импорт пакета Unity» нажмите «Импорт» .

Импорт пакетов Firebase с помощью Unity Package Manager

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

  • Этот метод доступен только в версии 2018.3+.

  • Если вы используете несколько продуктов Firebase в своем проекте, вам необходимо загрузить и обновить все продукты Firebase до одной и той же версии.

  • Не смешивайте методы импорта в одном проекте. То есть не импортируйте продукты Firebase с потоком Asset package и с потоком Unity Package Manager.

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

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

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

Пользовательский интерфейс менеджера пакетов

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

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

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

манифест.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 на Asset packages

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

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

Для перехода на пакеты активов:

  1. Обратите внимание на текущие версии пакетов Firebase в вашем проекте и удалите их.

    1. В меню Окно выберите Диспетчер пакетов . В окне Диспетчер пакетов убедитесь, что выбрано «Пакеты: В проекте».
    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.

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

Чтобы перейти на Unity Package Manager:

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

    Пользовательский интерфейс EDM4U

    1. В открытом проекте Unity перейдите в раздел Активы > Менеджер внешних зависимостей > Обработчик версий > Удалить управляемые пакеты .
    2. Выберите все пакеты Firebase и диспетчер внешних зависимостей.
    3. Нажмите Удалить выбранный пакет .

    Ручное удаление

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

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