Contrôle externe des capteurs MegaTracker
Par défaut, MegaTracker gère automatiquement les interfaces d'écoute des données d'accéléromètre et GNSS. Toutefois, dans certains scénarios d'application complexes, les développeurs peuvent devoir contrôler manuellement l'activation et la désactivation de ces interfaces afin d'obtenir une gestion plus fine de la consommation ou des autorisations.
Avant de commencer
- Découvrez les concepts et le workflow de MegaTracker
Logique de contrainte du contrôle externe
Lors de la création de MegaTrackerConfigs pour une session, vous pouvez configurer les interfaces d'écoute des capteurs via MegaTrackerSensorOptions.
| Nom du paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Indique si l'accéléromètre est contrôlé en externe par le développeur. |
| isGeoExternalControl | boolean |
false |
Indique si les données GNSS sont contrôlées en externe par le développeur. |
Astuce
Scénario applicable : si votre application, en dehors des fonctionnalités Mega, ne s'abonne pas directement aux données de capteurs, il est recommandé de conserver la valeur par défaut false et de laisser Mega les gérer automatiquement.
Lorsque les paramètres ci-dessus sont définis sur true, les développeurs doivent respecter strictement l'ordre d'appel suivant :
- Flux de démarrage
Avant d'appeler start(options), assurez-vous que l'écoute du capteur correspondant a été activée manuellement :
Accéléromètre : appeler wx.startAccelerometer.
GNSS : appeler wx.startLocationUpdate.
Flux d'arrêt
Ce n'est qu'après l'appel de stop() que vous pouvez désactiver l'écoute du capteur correspondant :
Accéléromètre : appeler wx.stopAccelerometer.
GNSS : appeler wx.stopLocationUpdate.
Attention
Avertissement de conflit : si la valeur est false (géré par Mega), n'appelez pas les interfaces natives WeChat d'arrêt des capteurs pendant l'exécution de la Session, sinon les données peuvent être interrompues.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Cet exemple montre comment contrôler en externe l'activation et la désactivation de l'écoute des données de géolocalisation WeChat. Avant d'appeler start(options), appelez wx.startLocationUpdate pour l'activer.