# @capawesome/capacitor-haptics 中文文档

规范地址：https://npmcn.com/package/%40capawesome/capacitor-haptics/

版本：0\.2\.0
npm 元数据更新时间：2026-10-29T22:25:18.465Z
中文译文更新时间：2026-11-09T05:16:29.062Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capawesome/capacitor-haptics
原文对照：https://npmcn.com/package/%40capawesome/capacitor-haptics/?lang=original
项目主页：https://capawesome.io/docs/sdks/capacitor/haptics/
源码仓库：https://github.com/capawesome-team/capacitor-plugins

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：226 kB，46 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-07-07T12:20:26.887Z
- 最新版本发布：2026-10-29T22:25:18.087Z
- 近 30 天下载量：8244（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

电容插件,用于在Android、iOS和Web上提供撞击、通知、振动和自定义的电容模式等随机反馈.

## 安装

```sh
npm install @capawesome/capacitor-haptics
```

也可以使用：`pnpm add @capawesome/capacitor-haptics`、`yarn add @capawesome/capacitor-haptics`、`bun add @capawesome/capacitor-haptics`

## README

# 电容 Haptics 插件

电容插件,用于提供撞击、通知、振动和自定义的电容模式等随机反馈.

[![Ship a fix in one command with Capawesome Cloud Live Updates, no store review](https://capawesome.io/assets/banners/cloud-ship-a-fix-in-one-command.png)](https://capawesome.io/)

## 特征

-   💥 **影响**: 有五种不同风格的触发撞击随机反馈,包括现代 `Rigid` 财务报告和审定财务报表 `Soft` 样式.
-   🔔 **通知**: 触发通知对成功、警告和出错事件的随机反馈.
-   🎯 **选择**: 用于拾取器风格交互的触发选择随机反馈 .
-   🎼 **自定义图案**:玩自定义的概率模式,每起事件强度和锐度(Core Haptics on iOS,震动效应于Android).
-   🤖 **机器人杂乱**: 执行语义Android随机反馈效果,尊重用户随机反馈设置.
-   📳 **振动**:以自定义持续时间来振动设备.
-   🔎 **可用性检查**: 请检查设备是否有随机反馈 .
-   🌐 **网络支持**:使用振动API为Web提供最佳支持.
-   🤝 **兼容性**: 与 [摇摆](https://capawesome.io/docs/sdks/capacitor/shake/), (中文(简体) ), [静态](https://capawesome.io/docs/sdks/capacitor/silent-mode/) 财务报告和审定财务报表 [数量](https://capawesome.io/docs/sdks/capacitor/volume/) 插件 .
-   📦 **可可花和SPM**:支持CocoaPods和Swift软件包管理器用于iOS.
-   🔁 **最新数据**:总是支持最新的Capacitor版本.

缺少一个功能? 刚刚 [打开一个问题](https://github.com/capawesome-team/capacitor-plugins/issues) 我们看看!

## 使用大小写

Haptics插件一般用来让应用程序感觉更能反应和触觉,例如:

-   **按钮和手势反馈**:当用户界面元素相撞或拖动操作被按住时触发撞击反馈.
-   **成功和错误反馈**: 使用通知概率来通知一个任务成功、失败或产生警告.
-   **拾取器和选择控制**:在用户通过拾取器滚动时给出微妙的选择反馈.
-   **游戏和丰富的互动**:玩自定义的概率模式,每起事件强度和敏锐度用于浸入体验.
-   **警报**:用自定义的持续时间来振动设备以引起用户的注意.

## 兼容性

| 插件版本 | 电容版本 | 状态 |
| --- | --- | --- |
| 0.2.x (中文(简体) ) | \>=8.x.x | 积极支持 |
| 0.1.x (中文(简体) ) | \>=8.x.x | 折旧 |

## 安装

你可以用我们的 **AI 辅助设置** 以安装插件. 添加数据 [超级技能](https://github.com/capawesome-team/skills) 至您的 AI 工具,使用以下命令:

```bash
npx skills add capawesome-team/skills --skill capacitor-plugins
```

然后使用下列提示:

```
 Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-haptics` plugin in my project.
```

如果你喜欢 **手动设置**,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capawesome/capacitor-haptics
npx cap sync
```

### 机器人

此插件已声明 `android.permission.VIBRATE` 因此不需要额外的配置.

### iOS系统

此插件不需要额外的配置 .

## 配置

此插件不需要配置 .

## 使用量

以下例子显示如何检查是否有随机反馈、触发冲击和通知反馈、提供选择反馈、播放自定义随机模式、执行Android随机效应并震动设备.

### 检查是否有随机反馈

检查设备在使用其他方法之前是否支持随机反馈 :

```typescript
import { Haptics } from '@capawesome/capacitor-haptics';

const isAvailable = async () => {
  const { available } = await Haptics.isAvailable();
  return available;
};
```

### 触发影响反馈

模拟物理撞击,例如当用户界面元素相撞或拖动操作被按住时. 现有五种不同的风格,包括现代风格 `Rigid` 财务报告和审定财务报表 `Soft` 样式 :

```typescript
import { Haptics, ImpactStyle } from '@capawesome/capacitor-haptics';

const impact = async () => {
  await Haptics.impact({ style: ImpactStyle.Medium });
};
```

### 触发通知反馈

告知某项任务或行动成功、失败或产生警告:

```typescript
import { Haptics, NotificationType } from '@capawesome/capacitor-haptics';

const notification = async () => {
  await Haptics.notification({ type: NotificationType.Success });
};
```

### 给选择反馈

在拾取者风格的互动中给出微妙的反馈. 打电话 `selectionStart()` 当互动开始, `selectionChanged()` 当选择发生变化时,以及 `selectionEnd()` 当交互结束时:

```typescript
import { Haptics } from '@capawesome/capacitor-haptics';

const selection = async () => {
  await Haptics.selectionStart();
  await Haptics.selectionChanged();
  await Haptics.selectionEnd();
};
```

### 播放自定义随机模式

玩自定义模式, 由每个事件的强度和锐度所构成的单个偶然事件。 在iOS上,模式使用 Core Haptics 播放;在Android上,它使用振动效应进行相近:

```typescript
import { Haptics } from '@capawesome/capacitor-haptics';

const playPattern = async () => {
  await Haptics.playPattern({
    events: [
      { time: 0, intensity: 1, sharpness: 0.8 },
      { time: 200, intensity: 0.6, sharpness: 0.4 },
      { time: 400, intensity: 0.8, duration: 500 },
    ],
  });
};
```

在iOS上,参数曲线会随时间变化整个图案的强度或锐度,例如,在最后的自带前提升一个连续的事件:

```typescript
import { HapticParameter, Haptics } from '@capawesome/capacitor-haptics';

const playRampUp = async () => {
  await Haptics.playPattern({
    events: [
      { time: 0, intensity: 1, sharpness: 0.3, duration: 1000 },
      { time: 1000, intensity: 1, sharpness: 0.9 },
    ],
    parameterCurves: [
      {
        parameter: HapticParameter.Intensity,
        controlPoints: [
          { time: 0, value: 0.1 },
          { time: 1000, value: 1 },
        ],
      },
    ],
  });
};
```

### 播放Android组件

播放杂乱原生的成分,例如Android用于切换的双击. 仅在Android 12+上提供:

```typescript
import {
  AndroidHapticPrimitiveType,
  Haptics,
} from '@capawesome/capacitor-haptics';

const playToggleOn = async () => {
  await Haptics.playAndroidComposition({
    primitives: [
      { type: AndroidHapticPrimitiveType.Tick, scale: 0.5 },
      { type: AndroidHapticPrimitiveType.Click, delay: 50 },
    ],
  });
};
```

### 执行Android随机效应

执行语义化的Android随机反馈效果,该效果尊重用户的随机反馈设置. 仅在Android上可用:

```typescript
import { AndroidHapticFeedbackType, Haptics } from '@capawesome/capacitor-haptics';

const performAndroidHapticFeedback = async () => {
  await Haptics.performAndroidHapticFeedback({ type: AndroidHapticFeedbackType.Confirm });
};
```

### 振动设备

振动装置. 这个 `duration` 选项仅在Android和Web上可用:

```typescript
import { Haptics } from '@capawesome/capacitor-haptics';

const vibrate = async () => {
  await Haptics.vibrate({ duration: 500 });
};
```

## API 密码

-   [`impact(...)`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-impact)
-   [`isAvailable()`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-isavailable)
-   [`notification(...)`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-notification)
-   [`performAndroidHapticFeedback(...)`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-performandroidhapticfeedback)
-   [`playAndroidComposition(...)`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-playandroidcomposition)
-   [`playPattern(...)`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-playpattern)
-   [`selectionChanged()`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-selectionchanged)
-   [`selectionEnd()`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-selectionend)
-   [`selectionStart()`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-selectionstart)
-   [`vibrate(...)`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-vibrate)
-   [接口](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-interfaces)
-   [数字](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-enums)

### 影响(...)

```typescript
impact(options?: ImpactOptions | undefined) => Promise<void>
```

触发撞击随机反馈.

用于模拟物理撞击, 例如当用户 界面元素相撞或拖动操作相接.

在Android上,撞击风格被映射出最佳的振动效果.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ImpactOptions](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-impactoptions)` |

**自:** 0.1.0 (中文(简体) )

* * *

### 易读 ()

```typescript
isAvailable() => Promise<IsAvailableResult>
```

检查设备是否有随机反馈 .

在Android上,这个检查设备是否有振动器. 在iOS上,此选项检查设备是否支持随机事件回放 . 在网络上,此检查是否支持振动 API .

**回返情况:** `Promise<[IsAvailableResult](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-isavailableresult)>`

**自:** 0.1.0 (中文(简体) )

* * *

### 通知(...)

```typescript
notification(options?: NotificationOptions | undefined) => Promise<void>
```

触发通知的随机反馈 .

用此来传达任务或动作成功, 失败 , 或发出警告.

在Android上,通知类型被映射为最佳振动 效应.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[NotificationOptions](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-notificationoptions)` |

**自:** 0.1.0 (中文(简体) )

* * *

### 执行AndroidHapticFeedback(...)

```typescript
performAndroidHapticFeedback(options: PerformAndroidHapticFeedbackOptions) => Promise<void>
```

执行预定义的Android随机反馈效果.

与其他方法相比,这种方法不使用振动器 但Android视图系统的语义随机反馈常数. 这尊重用户的随机反馈设置 .

只能从Android上找到.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[PerformAndroidHapticFeedbackOptions](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-performandroidhapticfeedbackoptions)` |

**自:** 0.1.0 (中文(简体) )

* * *

### 播放Android组合(...)

```typescript
playAndroidComposition(options: PlayAndroidCompositionOptions) => Promise<void>
```

玩一种杂乱无章的原始人.

相对于 `playPattern(...)`,此方法直接映射到 android振动器系统的原始成分,例如: 构建方向意识双击,Android用于切换. 构成尊重系统触摸反馈设置 Android 13+ (英语).

设备不支持的原始设备被播放为 `Click`。 。 。 .

仅在Android 12+上可用. 这需要一个带有概率的设备 原始支持. 否则,电话会拒绝提供.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[PlayAndroidCompositionOptions](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-playandroidcompositionoptions)` |

**自:** 0.2.0 (中文(简体) )

* * *

### 播放 Pattern (...)

```typescript
playPattern(options: PlayPatternOptions) => Promise<void>
```

播放由单个偶然事件组成的自定义随机模式 .

在 iOS 上,模式使用 Core Haptics 播放,并全力支持 强度和锐度。 这需要带有随机事件的设备 播放支持(例如带磁带引擎的iPhone). 否则,电话会拒绝提供.

在Android上,模式使用振动效应来播放. 强度是 只在振幅控制设备上受到尊重。 在Android 12+上,一个 瞬间事件模式仅作为单击的构成来播放 原始的 原始的 原始的 在Android 13+上,模式尊重系统触摸 反馈设置.

在网络上,该图案是使用振动API来进行相近的.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[PlayPatternOptions](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-playpatternoptions)` |

**自:** 0.1.0 (中文(简体) )

* * *

### 选择更改( C)

```typescript
selectionChanged() => Promise<void>
```

触发选择更改了随机反馈 .

后调用此方法 `selectionStart()` 当选择变更时.

在网络上,这个方法没有任何作用.

**自:** 0.1.0 (中文(简体) )

* * *

### 选择结束( E)

```typescript
selectionEnd() => Promise<void>
```

结束一个选择会话.

用户完成选取交互时调用这种方法 .

在网络上,这个方法没有任何作用.

**自:** 0.1.0 (中文(简体) )

* * *

### 选择开始 ()

```typescript
selectionStart() => Promise<void>
```

开始一个选择会话 .

当用户启动选择交互时, 调用此方法, for 实例,一个拾取者开始滚动。 它会准备随机的硬件 减少后一日期的延迟 `selectionChanged()` 打电话.

在网络上,这个方法没有任何作用.

**自:** 0.1.0 (中文(简体) )

* * *

### 震动(...)

```typescript
vibrate(options?: VibrateOptions | undefined) => Promise<void>
```

振动装置.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[VibrateOptions](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-vibrateoptions)` |

**自:** 0.1.0 (中文(简体) )

* * *

### 接口

#### 影响选项

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`style`** | `[ImpactStyle](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-impactstyle)` | 撞击的风格. | `ImpactStyle.Medium` | 0.1.0 (中文(简体) ) |

#### 易伤性结果

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`available`** | `boolean` | 设备上是否有随机反馈 . | 0.1.0 (中文(简体) ) |

#### 通知选项

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`type`** | `[NotificationType](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-notificationtype)` | 通知的类型. | `NotificationType.Success` | 0.1.0 (中文(简体) ) |

#### 执行AndroidHaptic Feedback 选项

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`type`** | `[AndroidHapticFeedbackType](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-androidhapticfeedbacktype)` | Android随机回馈效应来进行. | 0.1.0 (中文(简体) ) |

#### PlayAndroid 组合选项

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`primitives`** | `AndroidHapticPrimitive[]` | 构成成分的原始人,按回放顺序排列. | 0.2.0 (中文(简体) ) |

#### AndroidHaptic 初级

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`delay`** | `number` | 在演奏这首原始曲子之前 等待的时间 以毫秒计 延迟开始于之前的原始成分完成后. | `0` | 0.2.0 (中文(简体) ) |
| **`scale`** | `number` | 原始体的大小作为 `0` 财务报告和审定财务报表 `1`。 。 。 . | `1` | 0.2.0 (中文(简体) ) |
| **`type`** | `[AndroidHapticPrimitiveType](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-androidhapticprimitivetype)` | 原始人的类型. |  | 0.2.0 (中文(简体) ) |

#### 播放辅助选项

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`events`** | `HapticEvent[]` | 构成模式的偶然事件. | 0.1.0 (中文(简体) ) |
| **`parameterCurves`** | `HapticParameterCurve[]` | 曲线会随着时间的推移改变整个图案的参数,例如,强度会上升. 仅在iOS上可用. | 0.2.0 (中文(简体) ) |

#### 紧急事件

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`duration`** | `number` | 活动持续时间以毫秒计. 如果省略,则该事件为瞬时自带. |  | 0.1.0 (中文(简体) ) |
| **`intensity`** | `number` | 事件强度作为值 `0` 财务报告和审定财务报表 `1`。在Android上,强度只受到振幅控制的设备的尊重. |  | 0.1.0 (中文(简体) ) |
| **`sharpness`** | `number` | 事件的锐度作为 `0` 财务报告和审定财务报表 `1`。更低的数值导致更圆的、更软的反馈,而高值则导致更简洁、更准确的反馈。 仅在iOS上可用. | `0.5` | 0.1.0 (中文(简体) ) |
| **`time`** | `number` | 事件发生的相对时间, 以毫秒计 . |  | 0.1.0 (中文(简体) ) |

#### HapticParemeter 调查

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`controlPoints`** | `HapticParameterCurveControlPoint[]` | 曲线的控制点,最多16个. 该值在相接的控制点之间线性地插入. | 0.2.0 (中文(简体) ) |
| **`parameter`** | `[HapticParameter](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-hapticparameter)` | 参数为曲线控制. | 0.2.0 (中文(简体) ) |

#### HapticParemeter 剖面控制点

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`time`** | `number` | 控制点相对于图案开始的时间,以毫秒计. | 0.2.0 (中文(简体) ) |
| **`value`** | `number` | 此控制点的参数值 . | 0.2.0 (中文(简体) ) |

#### 振动选项

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`duration`** | `number` | 振动持续时间以毫秒为单位. 仅在Android和Web上提供. | `300` | 0.1.0 (中文(简体) ) |

### 数字

#### 影响样式

| 成员 | 数值 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`Heavy`** | `'HEAVY'` | 大而重的用户界面元素相撞. | 0.1.0 (中文(简体) ) |
| **`Light`** | `'LIGHT'` | 小而轻的用户界面元素相撞. | 0.1.0 (中文(简体) ) |
| **`Medium`** | `'MEDIUM'` | 中等大小用户界面元素相撞. | 0.1.0 (中文(简体) ) |
| **`Rigid`** | `'RIGID'` | 硬或不灵活的用户界面元素相撞. | 0.1.0 (中文(简体) ) |
| **`Soft`** | `'SOFT'` | 软或灵活的用户界面元素相撞. | 0.1.0 (中文(简体) ) |

#### 通知类型

| 成员 | 数值 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`Error`** | `'ERROR'` | 任务或动作失败 . | 0.1.0 (中文(简体) ) |
| **`Success`** | `'SUCCESS'` | 一项任务或行动已成功完成. | 0.1.0 (中文(简体) ) |
| **`Warning`** | `'WARNING'` | 一项任务或行动产生了警告. | 0.1.0 (中文(简体) ) |

#### AndroidHaptic Feed BackType 软件

| 成员 | 数值 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`ClockTick`** | `'CLOCK_TICK'` | 用户按了1小时或1分钟. | 0.1.0 (中文(简体) ) |
| **`Confirm`** | `'CONFIRM'` | 用户行为的确认. 10岁及以上, `ContextClick` 改为执行. | 0.1.0 (中文(简体) ) |
| **`ContextClick`** | `'CONTEXT_CLICK'` | 用户对对象进行了上下文点击. | 0.1.0 (中文(简体) ) |
| **`KeyboardTap`** | `'KEYBOARD_TAP'` | 用户已按下虚拟或软件键盘键. | 0.1.0 (中文(简体) ) |
| **`LongPress`** | `'LONG_PRESS'` | 用户对一个对象进行了长时间的按压. | 0.1.0 (中文(简体) ) |
| **`Reject`** | `'REJECT'` | 用户动作的拒绝或失败. 10岁及以上, `LongPress` 改为执行. | 0.1.0 (中文(简体) ) |
| **`ToggleOff`** | `'TOGGLE_OFF'` | 用户已经将一个开关或按钮切换到关闭位置. 在Android 13岁及以上, `ClockTick` 改为执行. | 0.1.0 (中文(简体) ) |
| **`ToggleOn`** | `'TOGGLE_ON'` | 用户将一个开关或按钮切换到位置上. 在Android 13岁及以上, `ClockTick` 改为执行. | 0.1.0 (中文(简体) ) |
| **`VirtualKey`** | `'VIRTUAL_KEY'` | 用户已按下虚拟屏幕键 . | 0.1.0 (中文(简体) ) |

#### AndroidHaptic 原始类型

| 成员 | 数值 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`Click`** | `'CLICK'` | 一击一击. | 0.2.0 (中文(简体) ) |
| **`LowTick`** | `'LOW_TICK'` | 一个非常短的低频滴答. | 0.2.0 (中文(简体) ) |
| **`QuickFall`** | `'QUICK_FALL'` | 以重力迅速向下移动. | 0.2.0 (中文(简体) ) |
| **`QuickRise`** | `'QUICK_RISE'` | 快速向上逆着重力运动. | 0.2.0 (中文(简体) ) |
| **`SlowRise`** | `'SLOW_RISE'` | 缓慢地向上逆着重力运动. | 0.2.0 (中文(简体) ) |
| **`Spin`** | `'SPIN'` | 旋转的动力. | 0.2.0 (中文(简体) ) |
| **`Thud`** | `'THUD'` | 顺着重力向下移动 以相撞结束. | 0.2.0 (中文(简体) ) |
| **`Tick`** | `'TICK'` | 一个很短,轻而易举的虱子. | 0.2.0 (中文(简体) ) |

#### 电荷平面

| 成员 | 数值 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`Intensity`** | `'INTENSITY'` | 乘以每个事件的强度. 控制点值范围从 `0` 改为 `1`。 。 。 . | 0.2.0 (中文(简体) ) |
| **`Sharpness`** | `'SHARPNESS'` | 抵消了每起事件的尖锐性. 控制点值范围从 `-1` 改为 `1`。 。 。 . | 0.2.0 (中文(简体) ) |

## 从 `@capacitor/haptics`

此插件是官员的倒置替换 `@capacitor/haptics` 有一些差异的插件 :

| `@capacitor/haptics` | 波动 |
| --- | --- |
| `impact()` (违约) `ImpactStyle.Heavy`(中文(简体) ) | `impact()` (违约) `ImpactStyle.Medium`(中文(简体) ) |
| `impact({ style })` (单位:千美元)`Heavy`, (中文(简体) ), `Medium`, (中文(简体) ), `Light`(中文(简体) ) | `impact({ style })` (加上新的 `Rigid` 财务报告和审定财务报表 `Soft` 样式) |
| `notification({ type })` | `notification({ type })` |
| `vibrate({ duration })` | `vibrate({ duration })` |
| `selectionStart()` | `selectionStart()` |
| `selectionChanged()` | `selectionChanged()` |
| `selectionEnd()` | `selectionEnd()` |
| —— 说 | `isAvailable()` |
| —— 说 | `performAndroidHapticFeedback({ type })` |
| —— 说 | `playPattern({ events })` |

**请注意**: 默认撞击样式从 `ImpactStyle.Heavy` 改为 `ImpactStyle.Medium`。如果依赖于旧的默认值,则通过 `ImpactStyle.Heavy` 当然.

## 平台行为

各平台的随机能力各不相同。 此插件将每种方法映射到最佳可用的平台 API :

| 方法 | 机器人 | iOS系统 | 网页 |
| --- | --- | --- | --- |
| `impact(...)` | 预定义或调制的振动效应 | `UIImpactFeedbackGenerator` (所有5个样式) | 振动 API |
| `notification(...)` | 微振动波形 | `UINotificationFeedbackGenerator` | 振动 API |
| `selection*()` | 滴答振动效果 | `UISelectionFeedbackGenerator` | 无 -OP |
| `vibrate(...)` | 有自定义持续时间的振动器 | 系统振动(固定持续时间) | 振动 API |
| `performAndroidHapticFeedback(...)` | 波动反馈常数( 无振动器) | 不详 | 不详 |
| `playAndroidComposition(...)` | 偶然原始人的组成 | 不详 | 不详 |
| `playPattern(...)` | 振动效应(组合或波形) | 核心曲线(强度、锐度和参数曲线) | 振动 API |

自定义概率模式在iOS上最强,Core Haptics支持每个事件的强度和锐度. 在Android上,图案采用振动效应原始(Android 12+并配有被支持的硬件)或振幅控制的波形来进行相近. 在网络上,图案大致使用振动API,它只支持上下计时.

## 财务问题

### 此插件与其他类似插件有何不同?

它通过一个完全打入的API来涵盖各种随机反馈:有五个样式的影响,包括现代的Rigid和Soft,通知和选择反馈,通过Core Haptics在iOS上的每起事件强度和锐度的自定义模式,尊重用户系统设置的语义Android效果,以及可用性检查——在Android,iOS和最佳Web之间一致进行. 它与最新的Capacitor和OS版本相对应而积极维护. 如果您只需要简单的振动, 最小的设置是好的; 如果您想要富有, 平台- 意识的偶然性, 这个插件就是为此设计的 .

### 这个插件与正式的Capacitor Haptics插件有什么不同?

此插件是官员的倒置替换 `@capacitor/haptics` 具有额外特性的插件: a `isAvailable()` 方法、语义和机器人杂效 `performAndroidHapticFeedback(...)`,通过 `playPattern(...)`和现代 `Rigid` 财务报告和审定财务报表 `Soft` 撞击样式。 注意默认撞击样式是 `ImpactStyle.Medium` 改为 `ImpactStyle.Heavy`,参见 [从 `@capacitor/haptics`](https://npmcn.com/package/%40capawesome/capacitor-haptics/#readme-migrating-from-capacitorhaptics)。 。 。 .

### 我需要配置任何权限吗?

不,插件已经声明 `android.permission.VIBRATE` 允许在自己的清单中,所以Android上不需要额外的配置. 在iOS和Web上,也不需要配置.

### 为什么我对我的装置不感到任何偶然的反馈?

首先,请使用 `isAvailable()` 用于检查是否有随机反馈的方法:在Android上,它检查设备是否有振动器,设备是否支持随机事件回放的iOS,以及网络上是否支持振动API。 还记住,在Android上,偶然事件的强度只在有振幅控制的设备上得到尊重 `performAndroidHapticFeedback(...)` 尊重用户的随机反馈设置 .

### 所有平台是否都支持自定义随机模式 ?

自定义模式在iOS上最强,其中Core Haptics支持每起事件的强度和锐度;这需要有一个带有概率事件回放支持的设备(例如有Taptic引擎的iPhone),否则呼叫拒绝为不可用. 在Android上,图案被大致使用振动效应原始或振幅控制波形来进行. 在网络上,图案大致使用振动API,它只支持上下计时.

### 两者有什么区别 `vibrate` 财务报告和审定财务报表 `playPattern`? 吗?

这个 `vibrate(...)` 方法触发一个自定义持续时间的单个振动,即持续时间只在Android和Web上被尊重(在iOS上,播放一个固定持续时间的系统振动). 这个 `playPattern(...)` 方法播放单个偶然事件的序列,每个事件都有其自身的时间,强度,锐度,以及持续时间.

### 我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

## 相关插件

-   [摇摆](https://capawesome.io/docs/sdks/capacitor/shake/): 检测出摇动手势, 例如, 以随机反馈响应 .
-   [静态](https://capawesome.io/docs/sdks/capacitor/silent-mode/):检测设备是否处于无声模式.
-   [数量](https://capawesome.io/docs/sdks/capacitor/volume/):控制音量并观察硬件音量按钮按下.

## 通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 [《卡帕索克通讯》](https://cloud.capawesome.io/newsletter/)。 。 。 .

## 更改日志

见 [变动情况](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/haptics/CHANGELOG.md)。 。 。 .

## 许可证

见 [自由主义](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/haptics/LICENSE)。 。 。 .

## 常见问题

### @capawesome/capacitor-haptics 是什么？

电容插件,用于在Android、iOS和Web上提供撞击、通知、振动和自定义的电容模式等随机反馈\.

### 如何安装 @capawesome/capacitor-haptics？

在项目目录运行 npm install @capawesome/capacitor-haptics，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capawesome/capacitor-haptics 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capawesome/capacitor-haptics 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capawesome/capacitor-haptics 可以商用吗？

@capawesome/capacitor-haptics 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @capawesome/capacitor-haptics 的下载量有多少？

根据 npm 官方下载统计，@capawesome/capacitor-haptics 在 2026/10/09 – 2026/11/07 这 30 天内被下载 8,244 次，日均约 275 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capawesome/capacitor-haptics 还在维护吗？

最新版本 0\.2\.0 发布于 2026/10/30（10 天前）；至今共发布 5 个版本，其中过去 12 个月发布了 5 个；首次发布于 2026/07/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

