背景中的特定iBeacon检测

时间:2014-09-19 10:34:38

标签: ios ibeacon

我一直在四处搜寻,找到我面对的问题的直接答案,而且信息有点分散。我不确定它是否可能基于答案。

基本上我使用iBeacons作为我的应用的组件。场景是这样的,你有一条有很多商店的高街。每个商店的窗户都有1个灯塔,面向街道。通用购物应用程序位于用户的手机上。

当用户走上大街时,我希望用户在通过商店时收到通知。此通知会说"查看MyShops最新优惠和折扣"提示打开应用程序。这就是应用程序在后台。

所有信标都有一致的UDID,它与我的应用相关联。每家商店都拥有自己的主要标识符。

我希望通知特定于商店(具有特定的灯塔主要和次要)但我找不到确定在后台输入哪个信标的方法。

另外一些商店可能已经关闭并且广播重叠,如果他们具有相同的 UDID ,那么进入区域的后台进程是否会触发您获得的每个信标?

1 个答案:

答案 0 :(得分:0)

您可以使用通用应用程序执行您想要的操作,该应用程序会在用户点击本地通知后将其他商店特定应用程序置于前台时启动。

几点:

  1. 您必须合并CoreLocation监控和测距API才能执行此操作。监控将在信标检测时将应用程序唤醒到后台(但仅持续10秒),并且测距将每秒更新一次,其中NSArray包含所有可见信标,其中包含完整的信标标识符和每个信标的距离估计值。

  2. 在测距回调中,您可以将估计距离与所有可见信标进行比较,以确定哪个距离最近(CLBeacon.accuracy)。最接近的是应该发送商店的本地通知。

  3. 请勿将信标ProximityUUID与iOS设备的唯一UDID混淆。这两者无关。