0

我有一个应用程序可以监控或测量建筑物内的 iBeacons。如何检测用户在特定房间中停留的时间?

我观察到,根据设备的方向,给定信标的接近度可能会从近跳到远。这意味着我不能简单地说一旦范围未知,访问就结束了。一旦我检测到给定信标的 X 个连续“接近/未知”状态,我是否应该持续确定到信标的距离并考虑开始/结束访问?

4

1 回答 1

1

无法保证在信标消失之前,您将获得任意数量的接近“未知”的测距回调。相反,您应该使用监控 API,并考虑在调用didExitRegion. 有时 iOS 会给你一个虚假的退出通知,所以你需要防范这种情况。didEnterRegion我通过在区域退出时启动计时器来做到这一点,如果我在五秒内没有得到回调,我只会执行退出逻辑。

当然,所有这些都假设“房间”或“部门”具有信标,其发射范围恰好在房间/部门的边缘结束。如果没有非常精确的放置和对发射器功率的控制,这不太可能完全正确。你必须决定你是否可以接受这个近似值。

于 2014-06-22T02:47:00.257 回答