Android 多个信标具有相同ID时iBeacon检测的行为
我参与了一个商业案例,出于部署简单性的原因,这迟早会成为一个问题: 对于iOS,将使用集成的iBeacon支持。对于Android,将使用AltBeacon库(按半径) 如果给定内容/交互的所有信标彼此非常接近,并且可能重叠,共享相同的UUID、主ID和次ID,是否存在任何基本问题和问题 他们都会ping相同的信息,因此理论上至少应用程序会看到来自同一个设备的大量ping,除非系统中的某个地方也有MAC地址在识别源中起作用 我很感谢你给我的建议。我们可能会谈论数百个分布在移动车辆中的信标,每辆车不止一个 问候,,Android 多个信标具有相同ID时iBeacon检测的行为,android,ios,ibeacon,altbeacon,Android,Ios,Ibeacon,Altbeacon,我参与了一个商业案例,出于部署简单性的原因,这迟早会成为一个问题: 对于iOS,将使用集成的iBeacon支持。对于Android,将使用AltBeacon库(按半径) 如果给定内容/交互的所有信标彼此非常接近,并且可能重叠,共享相同的UUID、主ID和次ID,是否存在任何基本问题和问题 他们都会ping相同的信息,因此理论上至少应用程序会看到来自同一个设备的大量ping,除非系统中的某个地方也有MAC地址在识别源中起作用 我很感谢你给我的建议。我们可能会谈论数百个分布在移动车辆中的信标,每辆车
Anders您不应该有两个UUID、MARGY和MINORY值完全相同的信标。有2^128个可能的UUID、65535个可能的专业和65535个可能的未成年人。任何两个信标相同的概率应基本为零 如果您需要识别具有多个信标的特定区域。给他们所有相同的UUID。然后,也许你可以让同一楼层的所有信标都有相同的主调,然后根据信标的不同接触点改变副调 如果所有信标都绑定到后端上的相同数据,则可以。但是,如果您愿意,此解决方案允许您稍后为特定信标设置不同的消息。如果您想限制手机在遇到第一个信标后拨打的网络电话,这也没问题,您可以在最近遇到信标且未离开会场后使用不同的功能
在不知道您的特定用例的情况下,这是我所能提供的最好的洞察力,但iBeacon协议信标的3个值永远不应该都相同。虽然典型的最佳实践是为每个信标提供不同的唯一标识符,但在某些用例中,为多个物理信标提供相同的标识符是很有帮助的iOS和Android都能正确处理同一标识符范围内多个信标的情况,但了解其工作原理很重要:
- 在iOS CoreLocation上,范围回调将在
数组中包含具有相同标识符的多个信标实例。在内部,操作系统通过Mac地址将它们区分开来,但无法使用核心位置访问此Mac或其任何其他代理。因此,虽然您可以知道周围有多少个信标,并获得每个信标的rssi和距离估计值,但无法区分哪个信标是哪个信标
- 使用Android信标库,默认情况下,具有相同标识符的所有信标组合成一个,其RSSI测量值取平均值,并用于创建单个距离估计值。但是,通过设置Beacon.setHardwareQualityEnforced(true),您可以将其配置为与iOS的行为方式相同。当您这样做时,每个信标将根据Mac地址保持不同,并且与iOS不同,您还可以使用
读取Macbeacon.getBluetoothAddress()