Table of Contents

Инициализация 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.

alt text

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

Примечание

License, используемая в editor, не проверяет package name приложения, поэтому license, которая нормально работает в editor, все еще может завершиться ошибкой после сборки и запуска как platform application или app. В этом случае обратите внимание на две ситуации:

  1. Package name указанной license должен совпадать с bundle id/package name, указанным в Unity Player Settings.
  2. Если после сборки Unity package name был изменен в проекте gradle или XCode, в Unity нужно использовать package name из gradle или XCode.

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

Ручная инициализация в основном используется для custom initialization workflows, например для показа уведомления о конфиденциальности пользователя перед вызовом интерфейсов EasyAR (см. руководство по compliance).

Откройте EasyAR Global Settings и снимите флажок Initialize On Startup.

alt text

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

alt text

Примечание

Обратите внимание на текст во всплывающем окне. Не все всплывающие окна означают ошибку инициализации.

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

  • EasyARSettings is not found
    • Asset file EasyAR Global Settings не создан (часто встречается, если license не заполнена)
  • License Key is empty
    • License не заполнена в EasyAR Global Settings, или в проекте существует несколько asset files EasyAR Global Settings
  • EasyARController.Initialize is not called (InitializeOnStartup = false)
    • Ручная инициализация не была вызвана в правильный момент
  • EasyAR stops after script change in play mode
    • Во время работы в editor был изменен script. Просто запустите снова

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