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ão0, 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, é sempre1.
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 comotruepara iniciar a escuta oufalsepara 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 comotruepara iniciar a escuta oufalsepara 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
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
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
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
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', {});