跳转至正文

iBeacon Capacitor 插件

Capacitor 的 iBeacon 插件 - 接近检测与 beacon 区域监控

安装

bun add @capgo/capacitor-ibeacon bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-ibeacon
  • pnpm add @capgo/capacitor-ibeacon
  • yarn add @capgo/capacitor-ibeacon

指南

如何在 Capacitor 中使用 iBeacon

使用 @capgo/capacitor-ibeacon

Capacitor iBeacon 插件 - 近距离检测与 beacon 区域监控

安装

bun add @capgo/capacitor-ibeacon
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

API 概览

方法 描述
startMonitoringForRegion 开始监测 Beacon 区域。进入或离开该区域时触发事件。
stopMonitoringForRegion 停止监测 Beacon 区域。
startRangingBeaconsInRegion 在特定区域内开始测距 Beacon,并提供持续的距离更新。
stopRangingBeaconsInRegion 停止在特定区域内测距 Beacon。
startAdvertising 将设备作为 iBeacon 进行广播 (仅限 iOS)。
stopAdvertising 停止将设备作为 iBeacon 进行广播 (仅限 iOS)。
requestWhenInUseAuthorization 请求“使用期间”位置权限 (测距/监测功能必选)。
requestAlwaysAuthorization 请求“始终允许”位置权限(后台监测必选)。
getAuthorizationStatus 获取当前位置授权状态。
isBluetoothEnabled 检查设备是否已启用蓝牙。
isRangingAvailable 检查设备是否支持 Ranging 功能。
enableARMAFilter 启用用于距离计算的 ARMA 过滤(仅限 Android)。
enableBackgroundMode 启用或禁用后台 Beacon 扫描模式(仅限 Android)。通过启用前台服务来确保可靠的后台 Beacon 检测。必须在请求“始终允许”位置权限后调用。
setBackgroundScanPeriod 配置后台扫描周期(仅限 Android)。控制设备在后台扫描 Beacon 的频率和持续时间。

示例

startMonitoringForRegion()

开始监测 Beacon 区域。进入或离开该区域时触发事件。

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

await CapacitorIbeacon.startMonitoringForRegion({
  identifier: 'MyBeaconRegion',
  uuid: 'B9407F30-F5F8-466E-AFF9-25556B57FE6D'
});

stopMonitoringForRegion()

停止监测 Beacon 区域。

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

await CapacitorIbeacon.stopMonitoringForRegion({
  identifier: 'MyBeaconRegion',
  uuid: 'B9407F30-F5F8-466E-AFF9-25556B57FE6D'
});

startRangingBeaconsInRegion()

在特定区域内开始 Ranging Beacon。提供持续的距离更新。

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

await CapacitorIbeacon.startRangingBeaconsInRegion({
  identifier: 'MyBeaconRegion',
  uuid: 'B9407F30-F5F8-466E-AFF9-25556B57FE6D'
});

stopRangingBeaconsInRegion()

停止在特定区域内进行 Beacon Ranging。

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

await CapacitorIbeacon.stopRangingBeaconsInRegion({
  identifier: 'MyBeaconRegion',
  uuid: 'B9407F30-F5F8-466E-AFF9-25556B57FE6D'
});

startAdvertising()

开始将设备作为 iBeacon 进行广播 (仅限 iOS)。

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

await CapacitorIbeacon.startAdvertising({
  uuid: 'B9407F30-F5F8-466E-AFF9-25556B57FE6D',
  major: 1,
  minor: 2,
  identifier: 'MyBeacon'
});

stopAdvertising()

停止将设备作为 iBeacon 进行广播 (仅限 iOS)。

import { CapacitorIbeacon } from '@capgo/capacitor-ibeacon';

await CapacitorIbeacon.stopAdvertising();

上表列出了 14 个核心方法。监听器、版本辅助函数以及每个方法的完整契约,均记录在 GitHub 仓库.

监听事件

addListener 会返回一个句柄。调用 handle.remove() 在屏幕卸载时,或者调用 CapacitorIbeacon.removeAllListeners() 以清除所有监听器。

完整参考文档

继续使用 @capgo/capacitor-ibeacon

如果你正在使用 使用 @capgo/capacitor-ibeacon 要规划原生插件工作,请将其与 @capgo/capacitor-ibeacon 了解 @capgo/capacitor-ibeacon 中的实现细节, 快速入门 有关“入门指南”中的实现细节, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 有关 Capgo 开发的 Capacitor 插件的实现细节,以及 添加或更新插件 有关添加或更新插件的实现细节。

常见问题

iBeacon 插件常见问题

如何在 Capacitor 应用中安装 iBeacon 插件?

运行 "bun add @capgo/capacitor-ibeacon"(或 "npm install @capgo/capacitor-ibeacon"),然后运行 "bunx cap sync",使 iOS 和 Android 项目同步 native code。最后在你的应用 code 中从 "@capgo/capacitor-ibeacon" 导入即可。

@capgo/capacitor-ibeacon 是否支持 React、Vue 和 Angular?

支持。iBeacon 是一个 Capacitor 包,因此它可以与任何在 Capacitor 中运行的 Web 框架配合使用,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-ibeacon 支持哪个 Capacitor 版本?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-ibeacon 是免费开源的吗?

是的。code 源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-ibeacon/,并且你可以通过 npm 免费安装该包。欢迎提交 Bug 报告和 Pull Request。

我可以在无需经过 App Store 审核的情况下,更新使用了 iBeacon 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App 审核,即可快速发布 iBeacon 更新

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo