Table of Contents

Внешнее управление сенсорами MegaTracker

По умолчанию MegaTracker автоматически управляет интерфейсами прослушивания данных акселерометра и GNSS. Однако в некоторых сложных сценариях приложения разработчикам может потребоваться вручную управлять включением и отключением этих интерфейсов для более точного управления энергопотреблением или разрешениями.

Перед началом

Логика ограничений внешнего управления

При создании MegaTrackerConfigs для session можно настроить интерфейсы прослушивания сенсоров через MegaTrackerSensorOptions.

Имя параметра Тип Значение по умолчанию Описание
isAcceExternalControl boolean false Указывает, управляется ли акселерометр внешне разработчиком.
isGeoExternalControl boolean false Указывает, управляются ли данные GNSS внешне разработчиком.
Совет

Применимый сценарий: если ваше приложение, кроме функций Mega, напрямую не подписывается на данные сенсоров, рекомендуется оставить значение по умолчанию false и позволить Mega обрабатывать их автоматически.

Когда указанные параметры установлены в true, разработчик должен строго соблюдать следующий порядок вызовов:

  • Процесс запуска

Перед вызовом start(options) необходимо убедиться, что соответствующий listener сенсора включен вручную:

Отключать соответствующий listener сенсора можно только после вызова stop():

Осторожно

Предупреждение о конфликте: если установлено false (управляется Mega), не вызывайте нативные интерфейсы WeChat для остановки сенсоров во время работы Session, иначе возможен разрыв данных.

const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
    isAcceExternalControl: false,
    isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
    access: apiKeyAccess,
    options: megaTrackerSensorOptions
};

session = megaComponent.createSession(megaTrackerConfigs);

Этот пример показывает, как внешне управлять включением и отключением прослушивания геолокационных данных WeChat. Перед вызовом start(options) нужно вызвать wx.startLocationUpdate, чтобы включить прослушивание геолокационных данных WeChat.