Дополнительные варианты установки 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 и потока Unity Package Manager.

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

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

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

Импорт пакетов Firebase с помощью диспетчера пакетов Unity

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

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

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

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

  • Зависимости для каждого .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. Выберите нужный tarball в файловом браузере.

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

  1. Разархивируйте файл .tgz .
  2. Нажмите значок + в левом верхнем углу окна диспетчера пакетов и выберите 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 Package Manager для импорта.

Чтобы перейти на пакеты активов:

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

    1. В меню «Окно» выберите «Диспетчер пакетов ». В окне «Диспетчер пакетов» убедитесь, что выбран пункт «Пакеты: в проекте».
    2. Обратите внимание на версии импортированных пакетов Firebase.
    3. Щёлкните по названию каждого пакета, затем нажмите «Удалить» . Обязательно удалите пакет менеджера внешних зависимостей ( .com.google.external-dependency-manager ), а также пакеты Firebase.
  2. Загрузите и импортируйте файлы .unitypackage для замены. Есть два варианта:

    • Если вы можете обновить каждый пакет до последней версии, загрузите zip-файл Firebase Unity SDK и импортируйте его, как описано в разделе Добавление Firebase в ваш проект Unity .
    • Если вам необходимо сохранить текущие версии .unitypackage , вы можете загрузить и импортировать отдельные пакеты, как описано выше на этой странице.

Миграция из пакетов ресурсов в диспетчер пакетов Unity

В некоторых случаях вам может потребоваться переключиться с импорта продуктов в папку 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 перейдите в раздел Активы > Менеджер внешних зависимостей > Обработчик версий > Удалить управляемые пакеты .
    2. Выберите все пакеты Firebase и диспетчер внешних зависимостей.
    3. Нажмите Удалить выбранный пакет .

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

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

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