すべてのプロダクト
Search
ドキュメントセンター

SuperApp:モーション検出

最終更新日:Apr 21, 2026

このトピックでは、HTML5 アプリケーションまたはミニアプリを作成する際に使用できる WVMotion クラスの JavaScript API について説明します。これらの API を使用すると、吹くジェスチャーのリッスンやデバイスの振動のトリガーなど、デバイスのモーションをモニターできます。

WVMotion.listenBlow

吹くジェスチャーのリッスンを開始します。

入力パラメーター

  • [number] time: (任意) 連続した吹くジェスチャー中に吹くイベントがトリガーされる時間間隔 (秒単位)。iOS では、値の範囲は [0, 1] で、デフォルトは 0 です。これは、システムが間隔を決定することを意味します。吹くジェスチャーが続くと値は増加します。

コールバックパラメーター

このメソッドにはコールバックパラメーターはありません。リスナーが正常に開始された場合は success コールバックが実行されます。それ以外の場合は failure コールバックが実行されます。

イベントリスニング

motion.blow:リスナーがアクティブなときにユーザーが吹くジェスチャーを実行すると発生します。

イベントパラメーター:

  • [number] pass: 吹くジェスチャーの検出値。この値はデバイスによって異なります。iOS では、これは [0, 1] の範囲の値で、吹くジェスチャーが続くと増加します。Android では、この値は常に 1 です。

document.addEventListener('motion.blow', function(e) {
        alert('吹くジェスチャーが検出されました。');
}, false);

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

WVMotion.stopListenBlow

吹くジェスチャーのリッスンを停止します。

入力パラメーター

入力パラメーターはありません。

コールバックパラメーター

コールバックパラメーターはありません。success コールバックは常に実行されます。

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

WVMotion.listenGyro

ジャイロスコープデータのリッスンを開始または停止します。

ジャイロスコープをリッスンすることで、HTML5 ページはデバイスの向きの変化を検出し、それに応じて反応できます。デバイスには、向きを検出できるセンサーが 2 つあります。ジャイロスコープと重力センサーです。ジャイロスコープはデバイスの向きをオイラー角 (ロール、ピッチ、ヨー) として提供し、重力センサーはデバイスの 3 軸に沿った重力成分を測定します。

iOS と Android 間のデータ形式の不整合のため、この API は重力センサーからのデータを返し、クロスプラットフォームの互換性を確保します。その後、HTML5 ページはこのデータからアルゴリズムを使用してデバイスの向きを計算します。

入力パラメーター

  • [boolean] on: ジャイロスコープデータのリッスンを開始 (true) または停止 (false) します。

  • [number] frequency: ジャイロスコープイベント間の最小時間間隔 (ミリ秒単位)。システムは、連続する 2 つのイベント間の実際の間隔がこの値を超えることを保証します。

コールバックパラメーター

コールバックパラメーターはありません。リスナーが正常に開始または停止された場合は success コールバックが実行されます。それ以外の場合は failure コールバックが実行されます。

イベントリスニング

motion.gyro:ジャイロスコープリスナーがアクティブなときにデバイスの向きが変更されると発生します。

イベントパラメーター:

  • [number] x: X 軸に沿った重力成分。値の範囲は [-1, 1] です。

  • [number] y: Y 軸に沿った重力成分。値の範囲は [-1, 1] です。

  • [number] z: Z 軸に沿った重力成分。値の範囲は [-1, 1] です。

document.addEventListener('motion.gyro', function(e) {
        alert('デバイスの向きが変更されました。');
}, false);

var params = {
        // ジャイロスコープリスナーを開始するか停止するかを指定します。
        on: true,
        // ジャイロスコープイベントの時間間隔。
        frequency: 100
};
window.WindVane.call('WVMotion', 'listenGyro', params, function(e) {
        alert('success');
}, function(e) {
        alert('failure:' + JSON.stringify(e));
});

WVMotion.listeningShake

シェイクジェスチャーのリッスンを開始または停止します。

入力パラメーター

  • [boolean] on: シェイクジェスチャーのリッスンを開始 (true) または停止 (false) します。

  • [number] frequency: (任意) シェイクイベント間の最小時間間隔 (ミリ秒単位)。連続する 2 つのイベント間の時間は常にこの値を超えます。デフォルト値は 500 です。

  • [number] shakeThreshold: (任意) シェイクのしきい値。このしきい値を超える加速度は、有効なシェイクと見なされます。デフォルト値は 1.2 です。

  • [number] shakeNum: (任意) シェイクイベントをトリガーするために必要なシェイクの回数。デフォルト値は 1 です。

コールバックパラメーター

コールバックパラメーターはありません。リスナーが正常に開始または停止された場合は success コールバックが実行されます。それ以外の場合は failure コールバックが実行されます。

イベントリスニング

motion.shake:リスナーがアクティブなときにユーザーがデバイスをシェイクすると発生します。

イベントパラメーター:

  • [number] x: X 軸に沿った加速度。

  • [number] y: Y 軸に沿った加速度。

  • [number] z: Z 軸に沿った加速度。

document.addEventListener('motion.shake', function(e) {
        alert('シェイクジェスチャーが検出されました。');
}, false);

var params = {
        // シェイクジェスチャーのリッスンを開始するか停止するかを指定します。
        on: true
};
window.WindVane.call('WVMotion', 'listeningShake', params, function(e) {
        alert('success');
}, function(e) {
        alert('failure: ' + JSON.stringify(e));
})

WVMotion.vibrate

デバイスを振動させます。

入力パラメーター

  • [int] duration: (任意) 振動の持続時間 (ミリ秒単位)。デフォルトの持続時間はシステムによって決定されます。このパラメーターは WindVane for Android でのみ使用でき、すべてのデバイスモデルで機能するとは限りません。

コールバックパラメーター

コールバックパラメーターはありません。success コールバックは常に実行されます。

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

var params = {
        // 振動の持続時間。
        duration: 7000
};
window.WindVane.call('WVMotion', 'vibrate', params);

WVMotion.startAccelerometer

説明

この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。

加速度データのリッスンを開始します。

入力パラメーター

  • [string] interval: (任意) 加速度データコールバックの周波数。デフォルト値は 'normal' です。有効な値:

    • ui: UI 更新に適しています。コールバックは約 60 ms ごとに発生します。

    • game: ゲーム更新に適しています。コールバックは約 20 ms ごとに発生します。

    • normal: 標準のコールバック周波数で、約 200 ms に 1 回発生します。

コールバックパラメーター

成功コールバックのパラメーター:

  • コールバックパラメーターはありません。

失敗コールバックのパラメーター:

  • [string] msg: 失敗を説明するメッセージ。

イベントリスニング

WVMotion.Event.accelerometer

新しい加速度データが受信されると発生します。

イベントパラメーター:

  • [float] x: X 軸に沿った加速度。

  • [float] y: Y 軸に沿った加速度。

  • [float] z: 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

説明

この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。

加速度データのリッスンを停止します。

入力パラメーター

  • 入力パラメーターはありません。

コールバックパラメーター

コールバックパラメーターはありません。success コールバックは常に実行されます。

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

WVMotion.startCompass

説明

この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。

コンパスデータのリッスンを開始します。

入力パラメーター

  • [string] interval: (任意) コンパスデータコールバックの周波数。デフォルト値は 'normal' です。有効な値:

    • ui: UI 更新に適しています。コールバックは約 60 ms ごとに発生します。

    • game: ゲーム更新に適しています。コールバックは約 20 ms ごとに発生します。

    • normal: 標準のコールバック周波数で、約 200 ms に 1 回発生します。

コールバックパラメーター

成功コールバックのパラメーター:

  • コールバックパラメーターはありません。

失敗コールバックのパラメーター:

  • [string] msg: 失敗を説明するメッセージ。

イベントリスニング

WVMotion.Event.compass

新しいコンパスデータが受信されると発生します。

イベントパラメーター:

  • [float] direction: デバイスが向いている方向と地理的な北との間の角度 (度単位)。値の範囲は [0, 360) です。

  • [long] timestamp: データがキャプチャされたときのタイムスタンプ。

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

説明

この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。

コンパスデータのリッスンを停止します。

入力パラメーター

  • 入力パラメーターはありません。

コールバックパラメーター

コールバックパラメーターはありません。success コールバックは常に実行されます。

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