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

Автоматическая инициализация будет вызвана автоматически в момент BeforeSceneLoad в Unity.
Примечание
Лицензия, используемая в редакторе, не проверяет имя пакета приложения, поэтому лицензия, работающая в редакторе, может по-прежнему завершаться ошибкой при запуске в собранном приложении или app. В этом случае следует обратить внимание на два случая:
- Указанное имя пакета в лицензии должно совпадать с bundle id/package name, указанным в Unity Player Settings.
- Если после сборки Unity имя пакета изменяется в проекте gradle или XCode. В этом случае необходимо использовать в Unity имя пакета из gradle или XCode.
[Опционально] Ручная инициализация
Ручная инициализация в основном используется для пользовательских процессов инициализации, например, для отображения уведомления о конфиденциальности перед вызовом API EasyAR (см. Руководство по соответствию).
Откройте Глобальные настройки EasyAR и снимите флажок Initialize On Startup.

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

Примечание
Важно обращать внимание на текст, отображаемый во всплывающем окне; не все всплывающие окна означают сбой инициализации.
Распространенные сообщения об ошибках и их причины:
- EasyARSettings is not found
- Ресурсный файл
Глобальные настройки EasyARне создан (часто возникает, если лицензия не заполнена)
- Ресурсный файл
- License Key is empty
- Лицензия не указана в
Глобальные настройки EasyAR, или в проекте присутствует несколько ресурсных файловГлобальные настройки EasyAR
- Лицензия не указана в
- EasyARController.Initialize is not called (InitializeOnStartup = false)
- Ручная инициализация не была вызвана в нужный момент
- EasyAR stops after script change in play mode
- Во время работы в редакторе были изменены скрипты. В этом случае необходимо перезапустить сцену
Связанные темы
- ARSession
- Глобальные настройки EasyAR
- Руководство по соответствию
- Методы просмотра журналов: Android, iOS, Редактор Unity