Table of Contents

Controle externo de sensores do MegaTracker

Por padrão, o MegaTracker gerencia automaticamente as interfaces de escuta de dados do acelerômetro e GNSS. Porém, em alguns cenários de aplicação complexos, desenvolvedores podem precisar controlar manualmente a ativação e desativação dessas interfaces para gerenciamento de energia ou controle de permissões mais refinados.

Antes de começar

Lógica de restrição do controle externo

Ao criar MegaTrackerConfigs para uma session, você pode configurar as interfaces de escuta dos sensores por meio de MegaTrackerSensorOptions.

Nome do parâmetro Tipo Valor padrão Descrição
isAcceExternalControl boolean false Indica se o acelerômetro é controlado externamente pelo desenvolvedor.
isGeoExternalControl boolean false Indica se os dados GNSS são controlados externamente pelo desenvolvedor.
Dica

Cenário aplicável: se sua aplicação, além dos recursos Mega, não assina diretamente dados de sensores, recomenda-se manter o valor padrão false e deixar o Mega tratar automaticamente.

Quando os parâmetros acima são definidos como true, os desenvolvedores devem seguir rigorosamente a ordem de chamadas abaixo:

  • Fluxo de inicialização

Antes de chamar start(options), certifique-se de que a escuta do sensor correspondente foi ativada manualmente:

Somente depois de chamar stop() você pode desativar a escuta do sensor correspondente:

Cuidado

Aviso de conflito: se definido como false (gerenciado pelo Mega), não chame interfaces nativas do WeChat para parar sensores enquanto a Session estiver em execução, caso contrário poderá ocorrer interrupção de dados.

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

session = megaComponent.createSession(megaTrackerConfigs);

Este exemplo demonstra como controlar externamente a ativação e desativação da escuta de dados de geolocalização do WeChat. Antes de chamar start(options), chame wx.startLocationUpdate para ativar essa escuta.