iBeacons:检测背景中的接近度变化

时间:2014-06-16 12:29:18

标签: ios ibeacon

我试图了解你应该如何检测后台的接近变化。 我进入范围的唯一窗口是当我进入一个区域时,但这可能相当遥远。

我想在用户输入"附近"或者" immidiate",但如果你得到" didEnterRegion"到目前为止,不要站在那里,然后接近灯塔,你不能再获得更多的时间,因为你仍然在同一地区。

有没有办法扩展"范围"是时候让用户靠近灯塔了,还是可以让他们进入" enterRegion"发生在远远超过"远"?

4 个答案:

答案 0 :(得分:2)

查尔斯在答案中说,背景测距时间限制在几秒钟。

如果您需要延迟操作直到您处于紧邻区域,那么您必须使用允许您降低发射功率的iBeacons ,以便传输半径更小。 RadiusNetworks的RadBeacon产品具有这种可配置性,可用于此目的。

如果您将RadBeacon配置为最小发射功率,那么在几英尺之外,您的手机将无法检测到它,并向您发送进入事件并在此时启动您的有限测距窗口。

完全披露:我是Radius Networks的总工程师。

答案 1 :(得分:1)

This walkthrough显示了如何做你要求的事情。我正在为iOS 8调整和测试它,但最终的应用程序在iOS 7上运行良好,无论何时接近变化都会推送本地通知。

答案 2 :(得分:1)

在Apple的Getting Started with iBeacon guide最佳实践部分中,它提到不应在后台使用范围API。

  

•预计不会在后台使用测距API。为获得最佳效果,应该进行测距   当您的应用程序位于最前端且用户正在与您的应用程序进行交互时使用。

可能是应用拒绝的快捷方式,所以请小心。

鉴于此,你不应该在后台确定接近度。我也采用了低信号技术,但是当你只使用一个监控区域用于多个信标时,区分信标会变得有点棘手......

答案 3 :(得分:0)

iBeacons在后台的可能性非常有限。

您可以做的是在后台监控区域(为您提供didEnter / didExitRegion事件)。

您还可以打开信标的范围,并且在从区域监控获得信标进入/退出事件后的10秒左右,您还将获得测距信息(即,即时/近/远数据)。 / p>

也许您可以在此时触发本地通知,尝试让用户将您的应用置于前台 - 然后您就可以获得测距数据。如果没有,那么根据我的测试,你只能获得10秒的测距数据。

关于调整测距时间或调整enterRegion接近度的问题 - 不,这些在当前版本的iOS中是不可能的。