Table of Contents

MegaTracker 센서 외부 제어

기본적으로 MegaTracker는 accelerometer 및 GNSS 데이터의 listener interface를 자동으로 관리합니다. 그러나 일부 복잡한 애플리케이션 시나리오에서는 개발자가 더 세밀한 전력 관리나 권한 제어를 위해 이러한 interface의 시작과 중지를 수동으로 제어해야 할 수 있습니다.

시작하기 전에

외부 제어 제약 로직

session 생성 시 MegaTrackerConfigs를 만들 때 MegaTrackerSensorOptions를 통해 센서 listener interface를 구성할 수 있습니다.

매개변수명 타입 기본값 설명
isAcceExternalControl boolean false accelerometer를 외부(개발자)가 제어하는지 여부입니다.
isGeoExternalControl boolean false GNSS 데이터를 외부(개발자)가 제어하는지 여부입니다.

적용 시나리오: 애플리케이션이 Mega 기능 외에 센서 데이터를 직접 구독하지 않는 경우 기본값 false를 유지하고 Mega가 자동 처리하도록 하는 것을 권장합니다.

위 매개변수가 true로 설정된 경우 개발자는 다음 호출 순서를 엄격히 준수해야 합니다.

  • 시작 흐름

start(options)를 호출하기 전에 해당 센서 listener가 수동으로 활성화되어 있는지 확인해야 합니다.

stop()를 호출한 후에만 해당 센서 listener를 끌 수 있습니다.

주의

충돌 경고: false(Mega 관리)로 설정한 경우 Session 실행 중 WeChat 네이티브 센서 중지 interface를 호출하면 안 됩니다. 그렇지 않으면 데이터가 중단될 수 있습니다.

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

session = megaComponent.createSession(megaTrackerConfigs);

이 예시는 WeChat 지리 위치 데이터 listener의 시작과 중지를 외부에서 제어하는 방법을 보여줍니다. start(options)를 호출하기 전에 wx.startLocationUpdate를 호출하여 WeChat 지리 위치 데이터 listener를 활성화해야 합니다.