Инициализация EasyAR Sense с помощью License Key
Чтобы использовать EasyAR в Unity, необходимо инициализировать EasyAR Sense с помощью license key, чтобы убедиться, что функции активированы. Есть два способа инициализации: автоматическая инициализация и ручная инициализация.
После успешной инициализации в Unity console или логах операционной системы можно увидеть номер версии EasyAR Sense и информацию о runtime platform, например:
EasyAR Sense (Android-arm64) Version 4.7.0.11800-cf8e24e30
Перед началом
- Лицензия EasyAR Sense описывает, как получить лицензию EasyAR Sense (license key). Перед инициализацией EasyAR Sense подготовьте подходящую лицензию в соответствии с фактическим устройством и этапом разработки.
Автоматическая инициализация
Автоматическая инициализация подходит для большинства сценариев использования.
Откройте EasyAR Global Settings, установите флажок Initialize On Startup и заполните EasyAR Sense License > LicenseKey.

Автоматическая инициализация вызывается автоматически в момент Unity BeforeSceneLoad.
Примечание
License, используемая в editor, не проверяет package name приложения, поэтому license, которая нормально работает в editor, все еще может завершиться ошибкой после сборки и запуска как platform application или app. В этом случае обратите внимание на две ситуации:
- Package name указанной license должен совпадать с bundle id/package name, указанным в Unity Player Settings.
- Если после сборки Unity package name был изменен в проекте gradle или XCode, в Unity нужно использовать package name из gradle или XCode.
[Опционально] Ручная инициализация
Ручная инициализация в основном используется для custom initialization workflows, например для показа уведомления о конфиденциальности пользователя перед вызовом интерфейсов EasyAR (см. руководство по compliance).
Откройте EasyAR Global Settings и снимите флажок Initialize On Startup.

Затем вручную вызовите инициализацию через интерфейс EasyARController.Initialize().
Можно передать license через параметр:
EasyARController.Initialize("my-license");
Также можно использовать license, указанную в EasyAR Global Settings:
EasyARController.Initialize();
Важно
EasyARController.Initialize() должен быть вызван до запуска ARSession.
В некоторых особых случаях, если EasyARController.Initialize() нужно вызывать несколько раз, убедитесь, что после каждого выполнения EasyARController.Initialize() выполняется деинициализация через EasyARController.Deinitialize().
Решения при ошибке инициализации
После запуска сцены, содержащей ARSession, если в логах нет похожей информации, это означает, что инициализация завершилась ошибкой.
EasyAR Sense (Android-arm64) Version 4.7.0.11800-cf8e24e30
В Unity Editor также может появиться подобное всплывающее окно:

Примечание
Обратите внимание на текст во всплывающем окне. Не все всплывающие окна означают ошибку инициализации.
Распространенные сообщения об ошибках и причины:
- EasyARSettings is not found
- Asset file
EasyAR Global Settingsне создан (часто встречается, если license не заполнена)
- Asset file
- License Key is empty
- License не заполнена в
EasyAR Global Settings, или в проекте существует несколько asset filesEasyAR Global Settings
- License не заполнена в
- EasyARController.Initialize is not called (InitializeOnStartup = false)
- Ручная инициализация не была вызвана в правильный момент
- EasyAR stops after script change in play mode
- Во время работы в editor был изменен script. Просто запустите снова
Связанные темы
- ARSession
- EasyAR Global Settings
- Руководство по compliance
- Способы просмотра логов: Android, iOS, Unity Editor