Почему Firebase SDK для единства больше, чем написано на веб-сайте Firebase? - PullRequest
0 голосов
/ 14 июля 2020

Я создавал новый проект с Firebase, и когда я щелкнул, чтобы загрузить SDK, было написано, что это примерно 300 МБ, но размер загрузки был 2,2 ГБ. Мне нужен только один пакет, можно ли загрузить пакеты по отдельности?

1 Ответ

0 голосов
/ 16 июля 2020

Я отвечу на это в нескольких частях:

  1. Ошибки, включая ошибки в панели управления Firebase, можно зарегистрировать здесь .
  2. Лучший способ для загрузки пакетов по отдельности используется диспетчер пакетов Unity ( выполните следующие действия ).
  3. Почему он такой большой (и, как следствие, почему он не такой большой в диспетчере пакетов Unity , Source Control, & c):

Размер SDK зависит от двух факторов:

  1. каждый пакет Unity включает в себя все пакеты, которые он зависит от. Таким образом, общие логики c, такие как FirebaseCore или даже FirebaseAnalytics, включаются повторно. Это значительно упрощает интеграцию logi c (Unity достаточно умен, чтобы не импортировать код, который вы уже импортировали, но недостаточно умен, чтобы условно втягивать другие файлы Unitypackage, если вы забыли), но резко увеличивает размер SDK (по сути, это zip zip-файл, каждый из которых содержит избыточные данные).

  2. Unity SDK фактически построен на основе SDK C ++ с открытым исходным кодом . Поскольку нет хорошего способа интегрировать сборку C ++ в систему сборки Unity, это означает, что есть избыточные копии каждого SDK для iOS, Android, MacOS, Windows и Linux, включенных для каждой библиотеки и каждая поддерживаемая архитектура. Сам Firebase SDK поддерживает версии Unity, начиная с 5-й серии, что также означает платформы и инструментальные средства C ++, которые сама Unity отказалась от поддержки, но которые по-прежнему будут получать обновления от Firebase.

Так почему же меньше интеграция с Unity Package Manager?

UPM построен на основе NPM, что означает, что загружаются только те библиотеки Firebase, которые вам нужны. Это означает, что вы не загружаете. NET 3.x совместимые библиотеки или 10 копий Firebase Core. Пакеты также находятся в отдельном каталоге Library в Unity (который вы не должны хранить в системе контроля версий - это экономит место) и могут быть загружены по запросу по мере необходимости (технически они также находятся в кеше пакетов . в каталоге пользователя).

Надеюсь, это поможет! И любые комментарии / предложения о том, как вы хотели бы видеть его в дальнейшем улучшении, могут быть отправлены как запрос функции или как проблема в Unity Quickstart .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...