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

Вместо загрузки большого .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.

После загрузки для импорта:

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

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

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

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

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

  • Если вы используете в своем проекте несколько продуктов Firebase, вам необходимо загрузить и обновить все продукты 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. Откройте окно диспетчера пакетов Unity.
  2. Нажмите значок + в верхнем левом углу окна «Диспетчер пакетов» и выберите Add package from tarball чтобы открыть браузер файлов.
  3. Выберите нужный архив в браузере файлов.

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

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

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

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

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

  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.

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

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

  1. Убедитесь, что все пакеты Firebase и пакет диспетчера внешних зависимостей удалены из папки 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, как описано выше на этой странице.