@capgo/capacitor-uwb

中文文档
8.0.9发布于 2026/10/15MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4万

IOS和Android上的超宽波段(UWB)的电容插件.

中文使用文档
文档目录22 节
  1. *免费开始*
  2. 主要特点
  3. 为什么这个插件
  4. 平台支持
  5. 兼容性
  6. 安装
  7. 使用量
  8. 页:1
  9. 示例应用程序
  10. API 密码
  11. 易读 ()
  12. 获取 Discovery Token ()
  13. 启动PeerSession (...)
  14. 启动控制会议(...)
  15. 启动控制会议(...)
  16. 停止会议( )
  17. 添加倾听器( 范围更新date )..
  18. 添加收听器( “session state Changed' ,...)
  19. 删除所有收听器( )
  20. 获取 PluginVersion ()
  21. 接口
  22. 类型异名

@ capgo/ 电容- uwb

测量附近设备之间的距离和方向,在你的Capacitor app中标出Ultra-Wideband,用于精确的发现,解锁和相近体验.

Capgo - Build Capacitor apps with AI, ship updates instantly

队长:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

*免费开始*

14天无限自由审判. 不需要信用卡

🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 @capgo/capacitor-uwb 在您的电容应用程序中: npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-uwb到我的Capacitor应用上,并把它接上 代理设置指南 • 妇女 主机磁共振

@capgo/capacitor-uwb for Capacitor apps

主要特点

  • 可用性数字 : isAvailable() 检查设备上的 UWB 支持 .
  • iOS 对等会议数字 : getDiscoveryToken() 财务报告和审定财务报表 startPeerSession() 与近接互动.
  • Android 会话数字 : startControllerSession() 财务报告和审定财务报表 startControleeSession() 与Jetpack UWB。 与Jetpack UWB.
  • 搜索事件数字 : rangingUpdate 报告距离和方向, sessionStateChanged 跟踪会话.
  • 停下来数字 : stopSession() 结束范围.
  • 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 需要 UWB 硬件 。 在网上不可用.

为什么这个插件

此插件将本地的 UWB 范围 API 包裹在 iOS 和 Android 上, 因此 Capacitor app 可以 :

  • 检查当前设备是否支持 UWB 范围 .
  • 以苹果的"相近互动"框架运行iOS上的对等对等范围.
  • 使用 Jetpack 在 Android 上运行控制器/控制器测距 androidx.core.uwb。 。 。 .
  • 通过插件听众接收距离、方向和会话生命周期更新.

在 iOS 上, 同行交换 NIDiscoveryToken 值出带,然后调用 startPeerSession()。 。 。 . 在Android上,控制器在控制器开始会话前共享范围参数出带.

平台支持

平台支助
iOS系统相距和方向的近距离互动对等点
机器人QQJetpack UWB 控制器/控制器会话(Android 12+,UWB硬件)
网页不详

兼容性

插件版本电容兼容性维护
v八.。 。 。 .v八.。 。 。 .✅
v.。 。 。 .v.。 。 。 .应要求
v6 (英语).。 。 。 .v6 (英语).。 。 。 .应要求

插件主版本遵循Capacitor主版本.

安装

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

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

然后使用下列提示:

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

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

bun add @capgo/capacitor-uwb
bunx cap sync

使用量

import { CapacitorUwb } from '@capgo/capacitor-uwb';

const availability = await CapacitorUwb.isAvailable();
if (!availability.available) {
  return;
}

await CapacitorUwb.addListener('rangingUpdate', (update) => {
  console.log(update.distanceMeters, update.direction);
});

// iOS: exchange discovery tokens out-of-band, then start ranging
const { discoveryToken } = await CapacitorUwb.getDiscoveryToken();
await CapacitorUwb.startPeerSession({ peerDiscoveryToken: '<peer-token-base64>' });

// Android: controller shares ranging parameters out-of-band
const controller = await CapacitorUwb.startControllerSession();
await CapacitorUwb.startControleeSession({
  rangingParameters: {
    ...controller.rangingParameters,
    peerAddress: controller.localAddress,
  },
});

await CapacitorUwb.stopSession();

页:1

  • 测试真实的UWB硬件. 模拟器和大多数桌面浏览器都不曝光UWB收音机.
  • iOS: (英语) 在 Xcode 中添加近接交互能力并设定 NSNearbyInteractionUsageDescription 内 Info.plist。 。 。 .
  • 机器人: 插件声明 android.permission.UWB_RANGING。在开始会话之前,控制器和控制器之间交换频段参数.
  • 网络 : isAvailable() 返回时 supported: false。 。 。 .

完整的设置指南 : capgo.app/docs/插件/uwb

示例应用程序

这个 example-app/ 文件夹中包含一个小 Vite 演示,用于检查可用性、交换会话参数、聆听测距更新和停止会话.

API 密码

IOS和Android上的超宽波段(UWB)的电容插件.

iOS使用Apple's Nearby Interactive框架进行对等测距. Android使用喷气式包装 androidx.core.uwb 用于控制器/控制器会话.

两个平台都要求交换发现符或测距参数 出带(例如蓝牙LE或后端).

易读 ()

isAvailable() => Promise<UwbAvailabilityResult>

请检查UWB是否支持, 设备上是否目前可用 .

回返情况: Promise<UwbAvailabilityResult>

自: 8.0.0 (单位:千美元)


获取 Discovery Token ()

getDiscoveryToken() => Promise<DiscoveryTokenResult>

在iOS上获取本地的"近相"发现符.

将返回的令牌与对等的带外键共享, 然后调用 startPeerSession() 与对等符号.

回返情况: Promise<DiscoveryTokenResult>

自: 8.0.0 (单位:千美元)


启动PeerSession (...)

startPeerSession(options: StartPeerSessionOptions) => Promise<void>

在 iOS 上启动一个近接互动对等会话 .

参数类型
optionsStartPeerSessionOptions

自: 8.0.0 (单位:千美元)


启动控制会议(...)

startControllerSession(options?: StartControllerSessionOptions | undefined) => Promise<AndroidControllerSessionResult>

启动Android UWB控制器会话并返回可共享参数.

参数类型
optionsStartControllerSessionOptions

回返情况: Promise<AndroidControllerSessionResult>

自: 8.0.0 (单位:千美元)


启动控制会议(...)

startControleeSession(options: StartControleeSessionOptions) => Promise<void>

用控制器提供的参数启动一个Android UWB控制器会话.

参数类型
optionsStartControleeSessionOptions

自: 8.0.0 (单位:千美元)


停止会议( )

stopSession() => Promise<void>

停止活动的 UWB 测距会话 .

自: 8.0.0 (单位:千美元)


添加倾听器( 范围更新date )..

addListener(eventName: 'rangingUpdate', listenerFunc: (event: RangingUpdateEvent) => void) => Promise<PluginListenerHandle>

正在运行的会话中可听到距离和方向的更新 .

参数类型
eventName'rangingUpdate'
listenerFunc(event: RangingUpdateEvent) => void

回返情况: Promise<PluginListenerHandle>

自: 8.0.0 (单位:千美元)


添加收听器( “session state Changed' ,...)

addListener(eventName: 'sessionStateChanged', listenerFunc: (event: SessionStateChangedEvent) => void) => Promise<PluginListenerHandle>

听听会话周期变化.

参数类型
eventName'sessionStateChanged'
listenerFunc(event: SessionStateChangedEvent) => void

回返情况: Promise<PluginListenerHandle>

自: 8.0.0 (单位:千美元)


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有注册听众 .

自: 8.0.0 (单位:千美元)


获取 PluginVersion ()

getPluginVersion() => Promise<PluginVersionResult>

获取当前本地插件版本 .

回返情况: Promise<PluginVersionResult>

自: 8.0.0 (单位:千美元)


接口

Uwb 可用性

返回结果 isAvailable()。 。 。 .

Prop类型说明自兹
supportedboolean设备硬件是否支持 UWB 范围 .8.0.0 (单位:千美元)
availablebooleanUWB目前是否可用并准备进行测距会话.8.0.0 (单位:千美元)
platform'ios' | 'android' | 'web'由本地或网络执行返回的平台标签 .8.0.0 (单位:千美元)

发现Token结果

返回结果 getDiscoveryToken() (原始内容存档于2018-03-31). On iOS.

Prop类型说明自兹
discoveryTokenstring基础64编码 NIDiscoveryToken 与对等频段外共享.8.0.0 (单位:千美元)

开始会话选项

备选方案 startPeerSession() (原始内容存档于2018-03-31). On iOS.

Prop类型说明自兹
peerDiscoveryTokenstringBase64 编码端点 NIDiscoveryToken。 。 。 .8.0.0 (单位:千美元)
isCameraAssistanceEnabledboolean支持时是否启用相机辅助(iOS 16+).8.0.0 (单位:千美元)

机器人控制器

在启动 Android 控制器会话时返回参数 .

Prop类型说明自兹
rangingParametersAndroidRangingParameters运行参数可与控制对象共享出带.8.0.0 (单位:千美元)
localAddressstring本地的 UWB 地址作为 Base64- 编码字节数组.8.0.0 (单位:千美元)

Android Ranging (英语). 参数

Android测距参数在控制器和控制器之间交换出波段.

Prop类型说明自兹
sessionIdnumber由两位同行共享会话标识符 .8.0.0 (单位:千美元)
sessionKeyInfostring可选的 Base64 编码会话密钥信息 .8.0.0 (单位:千美元)
subSessionIdnumber提供STS的可选子会话标识符.8.0.0 (单位:千美元)
subSessionKeyInfostring可选的碱基64-编码子会话密钥信息.8.0.0 (单位:千美元)
complexChannelUwbComplexChannel范围会话的频道配置 .8.0.0 (单位:千美元)
peerAddressstring端口 UWB 地址为 Base64- 编码字节数组 .8.0.0 (单位:千美元)
uwbConfigTypenumberUWB 配置类型 。 默认在Android上独播DS-TWR.8.0.0 (单位:千美元)
slotDurationMillisnumber持续时间以毫秒计.8.0.0 (单位:千美元)
updateRateTypenumber搜索更新速率类型 RangingParameters 安卓号.8.0.0 (单位:千美元)

Uwb 复合频道

Android UWB 复杂频道与对等端交换出波段.

Prop类型说明自兹
channelnumberUWB频道号码.8.0.0 (单位:千美元)
preambleIndexnumber测距会场使用的序言索引.8.0.0 (单位:千美元)

开始控制会议选项

备选方案 startControllerSession() 安卓号.

Prop类型说明自兹
sessionIdnumber与控制对象共享会话标识符 .8.0.0 (单位:千美元)
sessionKeyInfostring可选的 Base64 编码会话密钥信息 .8.0.0 (单位:千美元)
subSessionIdnumber备选子会话标识符.8.0.0 (单位:千美元)
subSessionKeyInfostring可选的碱基64-编码子会话密钥信息.8.0.0 (单位:千美元)
complexChannelUwbComplexChannelUWB 频道配置 .8.0.0 (单位:千美元)
uwbConfigTypenumberUWB 配置类型 。 默认为 unicast DS- TWR .8.0.0 (单位:千美元)
slotDurationMillisnumber持续时间以毫秒计.8.0.0 (单位:千美元)
updateRateTypenumber搜索更新速率类型 RangingParameters 安卓号.8.0.0 (单位:千美元)
peerAddressstring可选控制器UWB地址. 提供范围时立即开始.8.0.0 (单位:千美元)

启动控制会议选项

备选方案 startControleeSession() 安卓号.

Prop类型说明自兹
rangingParametersAndroidRangingParameters从控制器出带得到的测距参数.8.0.0 (单位:千美元)

插件听筒

Prop类型
remove() => Promise<void>

搜索更新事件

有效载荷 rangingUpdate 听着.

Prop类型说明自兹
distanceMetersnumber估计距离对等方以米计.8.0.0 (单位:千美元)
directionUwbDirection可用时方向矢量为对等点 .8.0.0 (单位:千美元)
azimuthRadiansnumber可用弧度时的半角.8.0.0 (单位:千美元)
elevationRadiansnumber可用弧度时的升角.8.0.0 (单位:千美元)
horizontalAngleRadiansnumber可用弧度时水平角度 .8.0.0 (单位:千美元)
timestampnumber收到更新时以毫秒为单位解去九时戳.8.0.0 (单位:千美元)

用户方向

UWB 测距报告3D方向矢量.

Prop类型说明自兹
xnumber方向矢量的X组件.8.0.0 (单位:千美元)
ynumber方向向量的 Y 组件 .8.0.0 (单位:千美元)
znumber方向矢量的 Z 组件 .8.0.0 (单位:千美元)

会话状态已改变

有效载荷 sessionStateChanged 听着.

Prop类型说明自兹
stateUwbSessionState当前会议状态.8.0.0 (单位:千美元)
reasonstring可选的人类可读理由或错误描述.8.0.0 (单位:千美元)

插件变压器

请求插件版本时返回结果 .

Prop类型说明自兹
versionstring本地插件版本字符串 .8.0.0 (单位:千美元)

类型异名

开会国

插件报告的会话周期状态 .

'initialized' | 'running' | 'suspended' | 'resumed' | 'invalidated' | 'stopped' | 'peerDisconnected'

版本与发布记录

@capgo/capacitor-uwb 共发布 9 个版本,首次发布于 2026/07/02;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.0.9latest2026/10/1525 天前
8.0.82026/10/1327 天前
8.0.72026/10/091 个月前
8.0.62026/10/081 个月前
8.0.52026/09/161 个月前
8.0.42026/08/202 个月前

关于 @capgo/capacitor-uwb 的常见问题

@capgo/capacitor-uwb 是什么?

IOS和Android上的超宽波段(UWB)的电容插件.

如何安装 @capgo/capacitor-uwb?

在项目目录运行 npm install @capgo/capacitor-uwb,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capgo/capacitor-uwb 支持 TypeScript 吗?

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

@capgo/capacitor-uwb 支持 ESM 还是 CommonJS?

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

@capgo/capacitor-uwb 可以商用吗?

@capgo/capacitor-uwb 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-uwb 的下载量有多少?

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

@capgo/capacitor-uwb 还在维护吗?

最新版本 8.0.9 发布于 2026/10/15(25 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/07/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。