我正在寻求帮助,以了解使用CoreLocation监视iBeacon时一直观察到的一些iBeacon可靠性问题。
我有一组具有相同UUID的信标,但主号码和副号码不同。我的程序设置为监视所有这些(而不是范围)。我具有信标的绝对最小值的传输功率(假定导致5英尺信标区域半径)。有时效果很好,但我观察到一些不一致的行为,包括:
站在它旁边几分钟)
不同区域并且不移动)
(这在阅读其他帖子时似乎很常见)
我对人们可能会意识到的iBeacons最佳实践感兴趣。我正在观察的问题似乎源于不可靠的传输范围和信标信号强度的波动。有没有简单的方法可以改善此问题?
我的目标是在附近放置多个信标。我是否应该考虑范围调整以帮助降低某些可靠性?如果是这样,据我了解,您不能在后台进行可靠性范围调整。
另外,如果您的应用程序已经在信标区域内启动,我正在尝试确认您是否会收到并输入事件?
最佳答案
一般而言,降低信标的发射器功率会产生非常不可靠的检测结果甚至是近距离。这是因为微弱的信号意味着信噪比低,这会导致间歇性故障,无法检测信标,因为背景噪声和几何形状随时间变化。这就是导致您描述的进入/退出事件的原因。
替代方法是最大化信标发射机的功率,并依靠信标测距来根据估计的距离或原始信号强度(RSSI)过滤掉距离较远的信标。 这通常将证明更可靠,因为更强的传输具有更高的信噪比,并且不易受到无线电噪声和其他环境变化的影响。
使用此替代方法的主要挑战是,iOS在后台中将测距信标限制为每个区域进入/退出10秒,或在请求时延长180秒。如果您请求特殊的位置背景权限,则可以进行无限的背景范围调整,但这需要AppStore的特殊批准,并消耗更多电池。
这对您的用例有用吗?这取决于您要完成的工作的细节以及用户在信标附近停留的频率。您可能还可以通过放置引起进入/退出事件的信标来对系统进行游戏。
最后,虽然在应用启动时未收到区域进入通知,但您可以随时动态请求区域进入/离开状态,这可以很好地满足您的需求。
关于ios - iBeacon监控可靠性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35464267/