Todos os produtos
Search
Central de documentação

SuperApp:Motion detection

Última atualização: Jun 29, 2026

Descreve as APIs JavaScript WVMotion para detectar movimento do dispositivo em aplicações HTML5 e miniapps, incluindo detecção de gesto de sopro, monitoramento de giroscópio e agitação, vibração, acelerômetro e dados da bússola.

WVMotion.listenBlow

Inicia a escuta de gestos de sopro.

Parâmetros de entrada

  • [number] time: Opcional. Intervalo em segundos no qual um evento de sopro é disparado durante um sopro contínuo. No iOS, o valor está no intervalo [0, 1] e tem como padrão 0, o que permite ao sistema determinar o intervalo. O valor aumenta conforme o sopro continua.

Parâmetros de callback

Não há parâmetros de callback. O callback success é disparado se o listener for iniciado com êxito; caso contrário, o callback failure será executado.

Escuta de eventos

motion.blow: Disparado quando um gesto de sopro é detectado enquanto o listener está ativo.

Parâmetros do evento:

  • [number] pass: Valor de detecção do gesto de sopro. Este valor varia conforme o dispositivo. No iOS, está no intervalo [0, 1] e aumenta à medida que o sopro continua. No Android, é sempre 1.

document.addEventListener('motion.blow', function(e) {
        alert('A blow gesture is detected.');
}, false);

window.WindVane.call('WVMotion', 'listenBlow', {}, function(e) {
        alert('success');
}, function(e) {
        alert('failure:' + JSON.stringify(e));
});

WVMotion.stopListenBlow

Interrompe a escuta de gestos de sopro.

Parâmetros de entrada

Não há parâmetros de entrada.

Parâmetros de callback

Não há parâmetros de callback. O callback success é sempre executado.

window.WindVane.call('WVMotion', 'stopListenBlow', {}, function(e) {
        alert('success');
});

WVMotion.listenGyro

Inicia ou interrompe a escuta de dados do giroscópio.

Um dispositivo expõe dois sensores para detectar orientação: um giroscópio, que reporta a orientação como ângulos de Euler (roll, pitch, yaw), e um sensor de gravidade, que mede a força gravitacional ao longo dos três eixos do dispositivo. Como iOS e Android retornam dados do giroscópio em formatos incompatíveis, esta API retorna dados do sensor de gravidade para garantir consistência entre plataformas. Sua página HTML5 pode então derivar a orientação do dispositivo a partir desses dados usando seu próprio algoritmo.

Parâmetros de entrada

  • [boolean] on: Defina como true para iniciar a escuta ou false para interromper.

  • [number] frequency: Intervalo mínimo em milissegundos entre eventos do giroscópio. O intervalo real entre dois eventos consecutivos sempre excede este valor.

Parâmetros de callback

Não há parâmetros de callback. O callback success é disparado se o listener for iniciado ou interrompido com êxito; caso contrário, o callback failure será executado.

Escuta de eventos

motion.gyro: Disparado quando a orientação do dispositivo muda enquanto o listener está ativo.

Parâmetros do evento:

  • [number] x: Força gravitacional ao longo do eixo x. O valor está no intervalo [-1, 1].

  • [number] y: Força gravitacional ao longo do eixo y. O valor está no intervalo [-1, 1].

  • [number] z: Força gravitacional ao longo do eixo z. O valor está no intervalo [-1, 1].

document.addEventListener('motion.gyro', function(e) {
        alert('Device orientation changed.');
}, false);

var params = {
        // Specifies whether to start or stop the gyroscope listener.
        on: true,
        // The time interval for gyroscope events.
        frequency: 100
};
window.WindVane.call('WVMotion', 'listenGyro', params, function(e) {
        alert('success');
}, function(e) {
        alert('failure:' + JSON.stringify(e));
});

WVMotion.listeningShake

Inicia ou interrompe a escuta de gestos de agitação.

Parâmetros de entrada

  • [boolean] on: Defina como true para iniciar a escuta ou false para interromper.

  • [number] frequency: Opcional. Intervalo mínimo em milissegundos entre eventos de agitação. O intervalo real entre dois eventos consecutivos sempre excede este valor. Padrão: 500.

  • [number] shakeThreshold: Opcional. Limiar de aceleração para uma agitação válida. Qualquer aceleração que exceda este valor é contabilizada como uma agitação. Padrão: 1.2.

  • [number] shakeNum: Opcional. Número de agitações necessárias para disparar um evento de agitação. Padrão: 1.

Parâmetros de callback

Não há parâmetros de callback. O callback success é disparado se o listener for iniciado ou interrompido com êxito; caso contrário, o callback failure será executado.

Escuta de eventos

motion.shake: Disparado quando o usuário agita o dispositivo enquanto o listener está ativo.

Parâmetros do evento:

  • [number] x: Aceleração ao longo do eixo x.

  • [number] y: Aceleração ao longo do eixo y.

  • [number] z: Aceleração ao longo do eixo z.

document.addEventListener('motion.shake', function(e) {
        alert('A shake gesture is detected.');
}, false);

var params = {
        // Specifies whether to start or stop listening for shake gestures.
        on: true
};
window.WindVane.call('WVMotion', 'listeningShake', params, function(e) {
        alert('success');
}, function(e) {
        alert('failure: ' + JSON.stringify(e));
})

WVMotion.vibrate

Vibra o dispositivo.

Parâmetros de entrada

  • [int] duration: Opcional. Duração da vibração em milissegundos. O padrão é uma duração determinada pelo sistema. Disponível apenas no WindVane para Android; pode não funcionar em todos os modelos de dispositivos.

Parâmetros de callback

Não há parâmetros de callback. O callback success é sempre executado.

window.WindVane.call('WVMotion', 'vibrate', {});

var params = {
        // The duration of the vibration.
        duration: 7000
};
window.WindVane.call('WVMotion', 'vibrate', params);

WVMotion.startAccelerometer

Nota

Esta API está disponível apenas no WindVane para Android 1.0.3.4 ou posterior.

Inicia a escuta de dados do acelerômetro.

Parâmetros de entrada

  • [string] interval: Opcional. Frequência de callback para dados do acelerômetro. Padrão: 'normal'. Valores válidos:

    • ui: Adequado para atualizações de UI. Callbacks são disparados aproximadamente a cada 60 ms.

    • game: Ideal para atualizações de jogos. Callbacks são disparados aproximadamente a cada 20 ms.

    • normal: Frequência padrão. Callbacks são disparados aproximadamente a cada 200 ms.

Parâmetros de callback

Parâmetros para um callback de sucesso:

  • Não há parâmetros de callback.

Parâmetros para um callback de falha:

  • [string] msg: Mensagem que descreve a falha.

Escuta de eventos

WVMotion.Event.accelerometer: Disparado quando novos dados do acelerômetro são recebidos.

Parâmetros do evento:

  • [float] x: Aceleração ao longo do eixo x.

  • [float] y: Aceleração ao longo do eixo y.

  • [float] z: Aceleração ao longo do eixo z.

document.addEventListener('WVMotion.Event.accelerometer', function (e) {
        alert('event accelerometer: ' + JSON.stringify(e.param));
});

var params = {
  interval: 'normal'
};

window.WindVane.call('WVMotion', 'startAccelerometer', params, function(e) {
}, function(e) {
        alert('startAccelerometer failure: ' + JSON.stringify(e));
});

WVMotion.stopAccelerometer

Nota

Esta API está disponível apenas no WindVane para Android 1.0.3.4 ou posterior.

Interrompe a escuta de dados do acelerômetro.

Parâmetros de entrada

  • Não há parâmetros de entrada.

Parâmetros de callback

Não há parâmetros de callback. O callback success é sempre executado.

window.WindVane.call('WVMotion', 'stopAccelerometer', {});

WVMotion.startCompass

Nota

Esta API está disponível apenas no WindVane para Android 1.0.3.4 ou posterior.

Inicia a escuta de dados da bússola.

Parâmetros de entrada

  • [string] interval: Opcional. Frequência de callback para dados da bússola. Padrão: 'normal'. Valores válidos:

    • ui: Adequado para atualizações de UI. Callbacks são disparados aproximadamente a cada 60 ms.

    • game: Ideal para atualizações de jogos. Callbacks são disparados aproximadamente a cada 20 ms.

    • normal: Frequência padrão. Callbacks são disparados aproximadamente a cada 200 ms.

Parâmetros de callback

Parâmetros para um callback de sucesso:

  • Não há parâmetros de callback.

Parâmetros para um callback de falha:

  • [string] msg: Mensagem que descreve a falha.

Escuta de eventos

WVMotion.Event.compass: Disparado quando novos dados da bússola são recebidos.

Parâmetros do evento:

  • [float] direction: Ângulo em graus entre a direção para a qual o dispositivo está voltado e o norte geográfico. O valor está no intervalo [0, 360).

  • [long] timestamp: Timestamp em que os dados foram capturados.

document.addEventListener('WVMotion.Event.compass', function (e) {
        alert('event compass: ' + JSON.stringify(e.param));
});

var params = {
  interval: 'normal'
};

window.WindVane.call('WVMotion', 'startCompass', params, function(e) {
}, function(e) {
        alert('startCompass failure: ' + JSON.stringify(e));
});

WVMotion.stopCompass

Nota

Esta API está disponível apenas no WindVane para Android 1.0.3.4 ou posterior.

Interrompe a escuta de dados da bússola.

Parâmetros de entrada

  • Não há parâmetros de entrada.

Parâmetros de callback

Não há parâmetros de callback. O callback success é sempre executado.

window.WindVane.call('WVMotion', 'stopCompass', {});