跳转至正文

快速入门

GitHub

你可以使用我们的 AI 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:

终端窗口
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

然后使用以下 prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-accelerometer` plugin in my project.

如果你更倾向于手动设置,请运行以下命令安装插件,并参考下文针对各平台的具体说明:

终端窗口
bun add @capgo/capacitor-accelerometer
bunx cap sync
import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
await CapacitorAccelerometer.startMeasurementUpdates();
await CapacitorAccelerometer.addListener('measurement', ({ x, y, z }) => {
detectShake(x, y, z);
});

在 Web 端,请先通过以下方式请求运动权限, requestPermissions() 然后再获取非零样本数据。

  • Web 端返回零值:在首次运动事件发生前, getMeasurement() 返回全零。
  • 停止流式传输: stopMeasurementUpdates() 当离开当前页面时。
  • 单位: 请按插件文档中的轴向约定进行游戏数学计算。

获取由原生层记录的最新的加速度计采样数据。

import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
const result = await CapacitorAccelerometer.getMeasurement();
console.log(result);

检查当前设备是否包含加速度计传感器。

import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
const result = await CapacitorAccelerometer.isAvailable();
console.log(result);

开始向 JavaScript 层流式传输加速度计更新。

调用 addListener 并配合 measurement 用于接收更新的事件。

import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
await CapacitorAccelerometer.startMeasurementUpdates();

停止通过以下方式启动的加速度计更新流 startMeasurementUpdates.

import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
await CapacitorAccelerometer.stopMeasurementUpdates();

返回当前访问运动数据的权限状态。

在没有明确权限的平台上,其结果为 granted.

import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
const result = await CapacitorAccelerometer.checkPermissions();
console.log(result);

如果平台支持,请请求访问运动数据的权限。

import { CapacitorAccelerometer } from '@capgo/capacitor-accelerometer';
const result = await CapacitorAccelerometer.requestPermissions();
console.log(result);

最近一次测量值的别名。

export type GetMeasurementResult = Measurement;

由以下项返回的结果 isAvailable.

export interface IsAvailableResult {
/**
* Whether an accelerometer sensor is available on the device.
*
* @since 1.0.0
*/
isAvailable: boolean;
}

返回的权限信息 checkPermissions 和 requestPermissions.

export interface PermissionStatus {
/**
* The permission state for accessing motion data on the current platform.
*
* @since 1.0.0
*/
accelerometer: AccelerometerPermissionState;
}

在以下情况发出的事件负载: startMeasurementUpdates 处于活动状态时。

export type MeasurementEvent = Measurement;

设备运动传感器上报的 x、y、z 轴加速度值。

export interface Measurement {
/**
* The acceleration on the x-axis in G's.
*
* @since 1.0.0
*/
x: number;
/**
* The acceleration on the y-axis in G's.
*
* @since 1.0.0
*/
y: number;
/**
* The acceleration on the z-axis in G's.
*
* @since 1.0.0
*/
z: number;
}

AccelerometerPermissionState

“AccelerometerPermissionState” 章节

权限状态联合类型,包括: limited 适用于可限制运动访问的平台。

export type AccelerometerPermissionState = PermissionState | 'limited';

Capacitor 支持的平台权限状态。

export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';

本页面由该插件的 src/definitions.ts当上游的公共 API 发生变化时,请重新运行 sync。

如果你正在使用 快速入门 来规划 dashboard 和 API 操作,请将其连接至 使用 @capgo/capacitor-accelerometer 在“使用 @capgo/capacitor-accelerometer”中实现原生能力, API 概览 关于 API 概览中的实现细节, 简介 有关 Introduction 中的实现细节, API 密钥 有关 API Keys 中的实现细节,以及 设备 有关 Devices 中的实现细节。