iBeacon - 如何检测用户在房间或部门中花费的时间?

时间:2014-06-20 18:54:30

标签: position distance ibeacon indoor-positioning-system

我有一个应用程序可以监视或定位建筑物内的iBeacons。 如何检测用户在特定房间内花费的时间?

我观察到,基于设备的方向,给定信标的接近度可能从近到远跳跃。这意味着我不能简单地说,一旦范围未知,访问就结束了。如果我连续检测到X" near / unknown"我应该连续确定距离信号的距离并考虑开始/结束的访问。给定灯塔的状态?

1 个答案:

答案 0 :(得分:1)

无法保证您可以获得任意数量的近距离回调"未知"在灯塔消失之前。相反,您应该使用监控API,并在接到didExitRegion电话时考虑退出房间。有时iOS会给你一个虚假的退出通知,所以你需要防止这种情况。我是通过在区域退出时启动计时器来实现的,如果我在五秒内没有得到didEnterRegion回调,我只会执行退出逻辑。

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