Controllo esterno del sensore MegaTracker
Per impostazione predefinita, MegaTracker gestisce automaticamente le interfacce di ascolto per i dati dell'accelerometro e GNSS. Tuttavia, in alcuni scenari applicativi complessi, gli sviluppatori potrebbero aver bisogno di controllare manualmente l'attivazione e la disattivazione di queste interfacce per ottenere una gestione più granulare del consumo energetico o del controllo dei permessi.
Prima di iniziare
- Comprendere concetti e flusso di lavoro di MegaTracker
Logica dei vincoli di controllo esterno
Durante la creazione della sessione MegaTrackerConfigs, è possibile configurare le interfacce di ascolto dei sensori tramite MegaTrackerSensorOptions.
| Nome parametro | Tipo | Default | Descrizione |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Indica se l'accelerometro è controllato esternamente (dallo sviluppatore). |
| isGeoExternalControl | boolean |
false |
Indica se i dati GNSS sono controllati esternamente (dallo sviluppatore). |
Consiglio
Scenari applicativi: se la vostra applicazione, oltre alle funzionalità Mega, non richiede direttamente la sottoscrizione dei dati dei sensori, si consiglia di mantenere il valore predefinito false, lasciando la gestione automatica a Mega.
Quando questi parametri sono impostati su true, lo sviluppatore deve seguire rigorosamente la seguente sequenza di chiamate:
- Flusso di avvio
Prima di chiamare start(options), assicurarsi che l'ascolto del sensore corrispondente sia attivato manualmente:
Accelerometro: chiamare wx.startAccelerometer.
GNSS: chiamare wx.startLocationUpdate.
Flusso di arresto
Dopo aver chiamato stop(), disattivare l'ascolto del sensore corrispondente:
Accelerometro: chiamare wx.stopAccelerometer.
GNSS: chiamare wx.stopLocationUpdate.
Attenzione
Avviso di conflitto: se impostato su false (gestito da Mega), non chiamare le interfacce native di WeChat per fermare i sensori durante l'esecuzione della sessione, poiché ciò interromperebbe il flusso dati.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Questo esempio mostra come controllare esternamente l'avvio e l'arresto dell'ascolto dei dati di posizione geografica di WeChat. Prima di chiamare start(options), è necessario chiamare wx.startLocationUpdate per avviare l'ascolto.