当无法检测到区域中的所有Estimotes时,如何在didExitRegion中添加条件

时间:2014-09-10 10:16:46

标签: ios ibeacon estimote

以下是我们的情景:

  

我们计划在大房间(即百货公司)设置大约4个信标。一旦用户进入房间,应用程序将通知用户“欢迎来到我们的商店!”。当用户离开房间时,应用程序将通知用户“请再来!”。   我们计划放置4个信标的原因是为了确保信标在设备范围内,我们可以确保用户真的还在房间里。 (我们担心的是用户可能仍然在房间里,并且会出现“请再来一次!”的通知。)

我们想知道是否可以编码,如果移动设备无法扫描所有信标,则用户已离开区域,设备将发送本地通知。

1 个答案:

答案 0 :(得分:1)

为了实现这一目标,您需要:

  1. 确保您的商店完全覆盖了信标的无线电范围。
  2. 在信标上设置标识符,使它们共享ProximityUUID。
  3. 定义一个与所有信标匹配的区域(例如,该区域应定义ProximityUUID并保留主要和次要空值。)
  4. 监控此区域。
  5. didExitRegion回调中,启动一个三秒计时器,如果您在此期间未获得didEnterRegion回调,则仅发送退出通知。这是必需的,因为iOS有时会发送虚假的退出事件,然后在一秒钟之后发送一个输入事件。
  6. 如果计时器在没有输入事件的情况下熄灭,则只发送退出本地通知。