VKWebAppDeviceMotionStart

VKWebAppDeviceMotionStart позволяет приложению получать данные о том, как меняется положение мобильного устройства в пространстве.

Пример

JavaScriptbridge.send("VKWebAppDeviceMotionStart", {});

Платформы

Android, iOS

Параметр (Android)

  • refresh_rate (integer)

Период обновления данных в миллисекундах. Минимальное значение — 20 мс, максимальное — 1000 мс, значение по умолчанию — 1000 мс.

Период обновления можно задать только для Android-устройств.

Пример (Android)

JavaScriptbridge.send("VKWebAppDeviceMotionStart", {"refresh_rate": 500});

Результат

Событие VKWebAppDeviceMotionStartResult отправляется, если отслеживание данных включено.

JSON{ "type": "VKWebAppDeviceMotionStartResult", "data": { "result": true } }

Поля ответа

  • result (boolean)

Всегда true.

После этого данные отправляются в событии VKWebAppDeviceMotionChanged. Если не удалось включить отслеживание данных, генерируется событие VKWebAppDeviceMotionStartFailed с типом и описанием ошибки.

JSON{ "type": "VKWebAppDeviceMotionStartFailed", "data": { "error_type": "..." "error_data": { ... } } }

Формат данных о вращении устройства

JSON{ "type": "VKWebAppDeviceMotionChanged", "data": { "alpha": "3.0", "beta": "-1.3", "gamma": "0.0" } }

Событие VKWebAppDeviceMotionChanged содержит данные об изменении положения мобильного устройства в пространстве. Положение устройства определяется относительно осей X, Y и Z.

Поля объекта data

  • alpha (number)

Угол поворота устройства вокруг оси Z (в радианах). Подразумевается, что устройство вращается в плоскости X/Y. Возможные значения:

  • положительное число (alpha < π), если устройство вращается против часовой стрелки,

  • отрицательно число (alpha ≥ -π), если устройство вращается по часовой стрелке.

  • beta (number)

Угол поворота устройства вокруг оси X (в радианах). Если в начальном состоянии устройство лежит в плоскости X/Y, которая параллельна земле, то при вращении вокруг оси X устройство перемещается из горизонтального положения в вертикальное. Возможные значения:

  • положительное число (beta < π/2) означает, что в вертикальном положении экран устройства будет обращен к пользователю,

  • отрицательное число (beta ≥ -π/2), означает, что в вертикальном положении задняя поверхность устройства будет обращена к пользователю.

  • gamma (number)

Угол поворота устройства вокруг оси Y (в радианах). Если в начальном состоянии устройство лежит в плоскости X/Y, которая параллельна земле, то при вращении вокруг оси Y меняется боковой наклон устройства. Возможные значения:

  • положительное число (gamma < π), если правая сторона устройства наклоняется вниз,
  • отрицательное число (gamma ≥ -π), если вниз наклоняется левая сторона.