指南
如何在 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 插件的实现细节,以及 添加或更新插件 有关添加或更新插件的实现细节。