MegaTracker センサー外部制御
デフォルトでは、MegaTracker は加速度計と GNSS データのリスニングインターフェースを自動的に管理します。しかし、よりきめ細かい電力管理や権限制御を実現するために、開発者がこれらのインターフェースの開始と停止を手動で制御する必要がある複雑なアプリケーションシナリオもあります。
はじめに
外部制御制約ロジック
session 作成 MegaTrackerConfigs 時に、MegaTrackerSensorOptions を通じてセンサーのリスニングインターフェースを設定できます。
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
加速度計が外部(開発者)によって制御されるかどうか。 |
| isGeoExternalControl | boolean |
false |
GNSS データが外部(開発者)によって制御されるかどうか。 |
ヒント
適用シナリオ:Mega 機能以外で、アプリ自体が直接センサーデータをサブスクライブしない場合、デフォルト値 false のままにし、Mega に自動処理させることをお勧めします。
上記パラメータを true に設定した場合、開発者は以下の呼び出し順序を厳守する必要があります:
- 開始フロー
start(options) を呼び出す前に、対応するセンサーリスニングが手動で開始されていることを確認する必要があります:
加速度計:wx.startAccelerometer を呼び出す。
GNSS:wx.startLocationUpdate を呼び出す。
停止フロー
stop() を呼び出した後で、対応するセンサーリスニングを閉じることができます:
加速度計:wx.stopAccelerometer を呼び出す。
GNSS:wx.stopLocationUpdate を呼び出す。
注意
競合警告: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 位置情報データリスニングを開始する必要があります。