Unity 6.3
0 онлайн 94 гостей 3 в системе
Вход
Разработка платформы Шаг 106 из 387

Интеграция Unity в Android приложения

На этой странице описывается, как интегрировать библиотеку Runtime Unity в приложения Android, используя Unity в качестве библиотеки.

Вы можете использовать эту функцию, чтобы включить в приложение функции, поддерживаемые Unity, такие как 3D/2D Real-Time Rendering, AR Experience, 3D Model Interaction или 2D Mini-Games. Библиотека Runtime Unity предоставляет средства управления, позволяющие управлять, когда и как загружается, активируется и выгружается содержимое в приложении.

Важно: Внедрение Unity в качестве библиотеки в вашем проекте может потребовать адаптации собственных и управляемых плагинов для надлежащей работы с Android. Плагины, которые изменяют манифесты Gradle, должны использовать изменения Gradle, описанные в Использование Unity в качестве библиотеки в собственных iOS/Android приложениях.

Как это работает

Вам не нужно делать ничего другого, когда вы создаете свой проект Gradle из Unity.

Каждый Android проект Gradle, созданный Unity, имеет следующую структуру:

  • Часть библиотеки в модуле unityLibrary, которую можно интегрировать в любой другой проект Gradle. Она содержит данные времени выполнения и плеера Unity.
  • Тонкая пусковая часть в пусковая установка модуль, который содержит имя приложения и его значки. Это простой Android приложение, которое запускает Unity. Вы можете заменить этот модуль своим собственным приложением.

Чтобы интегрировать Unity в другой проект Gradle Android, необходимо включить модуль unityLibrary сгенерированного проекта Gradle Android в проект Gradle Android Unity Project через файл settings.gradle.

Это хранилище содержит примеры проектов и плагинов, демонстрирующих, как интегрировать Unity в Android приложение, вместе с дополнительной документацией.

Чтобы управлять проигрывателем, ретранслируйте Intent для запуска действия Unity и расширяйте его при необходимости. Дополнительные сведения см. в документации для разработчиков Android по Intents и фильтрам Intent. Также можно использовать UnityPlayer Java API.

IUnityPlayerLifecycleEvents

IUnityPlayerLifecycleEvents обеспечивает способ взаимодействия с двумя важными событиями жизненного цикла Unity Player:

  • Unload — Приложение вызывает IUnityPlayerLifecycleEvents.onUnityPlayerUnloaded, когда Application.Unload или UnityPlayer.unload() выгружает Unity Player. Это переводит Unity Player в приостановленное состояние, в котором он выгружает все сцены, но всё остальное остаётся загруженным в памяти.
  • Quit — Приложение вызывает IUnityPlayerLifecycleEvents.onUnityPlayerQuitted при выходе из Unity Player. Процесс, который запускал Unity, заканчивается после этого вызова.

Вы можете передать экземпляр IUnityPlayerLifecycleEvents конструктору UnityPlayer либо чтобы переопределить методы в подклассах UnityPlayer и UnityPlayerActivity.

Ограничения

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

  • Unity как Библиотека поддерживает только полноэкранное отображение. Однако, если вы являетесь клиентом Unity Industry, ограничения и возможности могут отличаться.
  • Нельзя загружать или интегрировать более одного экземпляра времени выполнения Unity.
  • Вам может потребоваться адаптировать сторонние плагины (как нативные, так и управляемые) для работы с временем выполнения Unity.
  • Unity как Библиотека несовместима с платформой приложений Xamarin.
  • Вы не можете интегрировать Unity Runtime Library как динамический модуль с Play Feature Delivery.

Дополнительные ресурсы