Table of Contents

Использование лицензионного ключа для инициализации 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.

alt text

Автоматическая инициализация будет вызвана автоматически в момент BeforeSceneLoad в Unity.

Примечание

Лицензия, используемая в редакторе, не проверяет имя пакета приложения, поэтому лицензия, работающая в редакторе, может по-прежнему завершаться ошибкой при запуске в собранном приложении или app. В этом случае следует обратить внимание на два случая:

  1. Указанное имя пакета в лицензии должно совпадать с bundle id/package name, указанным в Unity Player Settings.
  2. Если после сборки Unity имя пакета изменяется в проекте gradle или XCode. В этом случае необходимо использовать в Unity имя пакета из gradle или XCode.

[Опционально] Ручная инициализация

Ручная инициализация в основном используется для пользовательских процессов инициализации, например, для отображения уведомления о конфиденциальности перед вызовом API EasyAR (см. Руководство по соответствию).

Откройте Глобальные настройки EasyAR и снимите флажок Initialize On Startup.

alt text

Затем используйте интерфейс 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 также может появиться всплывающее окно, подобное этому:

alt text

Примечание

Важно обращать внимание на текст, отображаемый во всплывающем окне; не все всплывающие окна означают сбой инициализации.

Распространенные сообщения об ошибках и их причины:

  • 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
    • Во время работы в редакторе были изменены скрипты. В этом случае необходимо перезапустить сцену

Связанные темы