gpt4 book ai didi

android - 多个信标具有相同ID时iBeacon检测的行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:03 25 4
gpt4 key购买 nike

我参与了一个业务案例,出于部署简单的原因,这个问题迟早会弹出:

对于 iOS,将使用集成的 iBeacon 支持。对于 Android,将使用 AltBeacon 库(由 Radius 提供)。

如果给定内容/交互的所有信标彼此靠近并可能重叠,共享相同的 UUID、主要 ID 和次要 ID,是否存在任何基本问题和陷阱?

它们都会 ping 相同的信息,所以理论上至少应用程序只会看到来自看似相同设备的大量 ping,除非系统中的某个地方也 MAC 地址将起到识别来源的作用。

我很感谢关于这方面的任何实用建议。我们可能正在谈论数百个信标分布在行驶的车辆中,每辆车不止一个。

问候,安德斯

最佳答案

虽然典型的最佳做法是为每个信标提供不同的唯一标识符,但在某些用例中,为多个物理信标提供相同的标识符会有所帮助。 iOS 和 Android 都能正确处理范围内多个信标具有相同标识符的情况,但了解其工作原理很重要:

  • iOS CoreLocation 上,测距回调将在 beacons 数组中包含多个具有相同标识符的信标实例。在内部,操作系统通过 Mac 地址来区分它们,但是无法使用 Core Location 访问此 Mac 或它的任何其他代理。因此,虽然您可以分辨周围有多少个信标并获得每个信标的 RSSI 和距离估计值,但您无法分辨哪个信标是哪个。

  • 使用 Android 信标库,默认情况下所有具有相同标识符的信标都合并为一个,它们的 RSSI 测量值被平均并用于创建一个单一的距离估计。但是,您可以通过设置 Beacon.setHardwareEqualityEnforced(true)将其配置为与 iOS 的行为方式相同。当您这样做时,每个信标将通过 Mac 地址保持不同,并且与 iOS 不同,您还可以使用 beacon.getBluetoothAddress() 读取 Mac。

关于android - 多个信标具有相同ID时iBeacon检测的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com