ios - 如何处理相互重叠的 iBeacon

标签 ios iphone ios7 ibeacon

我已经创建了一个用于检测信标的应用程序。事情进展顺利。我遇到的问题是: 当有更多信标相互重叠时。考虑到这个情况,我应该如何处理这种情况 1. 当我们只想在进入信标时从特定信标接收一次报价/我们处于多个信标相互重叠的地方。

谢谢,

最佳答案

当您有重叠的 iBeacon 时,设计 iBeacon 标识符(UUID、主要、次要)和用于监控它们的 CLBeaconRegions 非常重要,这样您就可以获得想要的结果。

是否要在检测到任何重叠的 iBeacon 时触发“报价”?如果是这样,然后监视匹配它们的 CLBeaconRegion,可能通过设置 UUID(如果所有信标都共享该值,则可能是主要的。)在这种情况下,您只会得到 一个 当检测到其中任何一个时,区域进入通知。您不会为每个重叠的 iBeacon 获得一个。

如果您只想在检测到一个重叠 iBeacon 时触发“offer”,那么监控一个只匹配那个 iBeacon 的 CLBeaconRegion,通常通过指定 UUID,major ,并在 CLBeaconRegion 中次要。当然,你还需要保证每个iBeacon都配置了不同的minor。还要记住,如果需要,您可以同时监视多个 CLBeaconRegions,并为每个都获得特定的回调。

虽然这是与重叠 iBeacon 不同的问题,但如果您真的希望用户“只收到一次优惠”,您还需要在检测回调中添加一个过滤器。 iOS 中的一个小故障有时会给你一个非常快速的退出区域回调,然后几乎是瞬时的进入区域回调。为了防止用户第二次收到优惠,保存上次优惠推送给用户的时间戳,只有在足够的时间过去后(比如 1 小时或一天)才再次推送。 See this answer for details.

关于ios - 如何处理相互重叠的 iBeacon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22252344/

相关文章:

iphone - iOS : Date format - 20-Sep-2012

iphone - 对于图像元数据,什么标签允许最大字符限制?

iphone - 使用 MacRuby 测试 iPhone 应用程序?

ios - 为什么 CALayer 动画会在加载 View 后工作,而不是在初始化后才工作?

ios - 在ios中制作条件标签栏

ios - 位置的自定义图标。可能吗?

ios - Swift 中的自定义相机和裁剪图像

ios - 关闭模态视图 Controller 偶尔会卡住应用程序,swift 3

video - 全屏播放 YouTube 视频,仅允许 iOS7 和 iOS8 视频旋转

ios - 使用 iOS Game Center Challenge 发送对象?