Table of Contents

MegaTracker センサー外部制御

デフォルトでは、MegaTracker は加速度計と GNSS データのリスニングインターフェイスを自動管理します。ただし、複雑なアプリケーションシーンでは、より細かな電力管理や権限制御のために、開発者がこれらのインターフェイスの開始と停止を手動で制御する必要がある場合があります。

始める前に

外部制御の制約ロジック

session 作成時に MegaTrackerConfigs を作成する際、MegaTrackerSensorOptions によりセンサーのリスニングインターフェイスを設定できます。

パラメータ名 デフォルト値 説明
isAcceExternalControl boolean false 加速度計を外部(開発者)が制御するかどうか。
isGeoExternalControl boolean false GNSS データを外部(開発者)が制御するかどうか。
ヒント

適用シーン: アプリケーションが Mega 機能以外でセンサーデータを直接購読しない場合は、デフォルト値 false のままにし、Mega に自動処理させることを推奨します。

上記パラメータを true に設定した場合、開発者は次の呼び出し順序を厳密に守る必要があります。

  • 起動フロー

start(options) を呼び出す前に、対応するセンサーリスナーが手動で開始済みであることを必ず確認してください。

stop() を呼び出したにのみ、対応するセンサーリスナーを停止できます。

注意

競合警告: false(Mega 管理)に設定した場合、Session 実行中に WeChat ネイティブのセンサー停止インターフェイスを呼び出してはいけません。データ中断につながります。

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 位置情報データのリスニングを開始する必要があります。