【问题标题】:Uniquie notification for each Beacon ( more than 20 beacons)每个信标的唯一通知(超过 20 个信标)
【发布时间】:2015-08-14 18:06:04
【问题描述】:

我正在构建一个 iOS 应用程序,我希望在其中处理 20 多个 iBeacon。基本上所有添加到门户网站的信标都必须由应用程序处理。由于 iOS 将要监视的区域数限制为 20,因此我无法为同一区域中的信标(具有相同的 UUID)提供不同的本地通知。

有什么办法可以解决这个问题吗?

【问题讨论】:

标签: ios core-bluetooth ibeacon estimote android-ibeacon


【解决方案1】:

几点:

  1. 20 个区域的限制适用于单个应用程序可以注册的 CLRegion 对象的数量。 这并不意味着您只能检测到 20 个信标。由于每个 CLRegion 对象可以留下主要和/或次要 nil(使字段成为通配符),每个都可以匹配数十亿个信标。

  2. 信标应用通常使用本地通知,而不是推送通知。

您设置来自许多不同信标的许多不同通知的方式如下:

  1. 定义一个与所有信标匹配的通配符区域。 (如果需要后台触发,也可以选择几个区域)。

  2. 开始对每个区域进行和测距

  3. didRangeBeacond:inRegion 回调中为每个单独的信标保留一个标志,以查看您之前是否发送过通知。如果不是,则将该标志设置为 true 并触发特定于该信标标识符的本地通知。

【讨论】:

  • 你能告诉我们如何定义CLBeaconRegion 是否为 nil 吗?
  • CLBeaconRegion 不能为零。您必须定义一个至少设置了 ProximityUUID 的区域。
  • 没错!谢谢! ,在我的情况下,我有 1000 个信标,并且当所有这些与 startMonitoringItem 保持循环时,它会阻止 UI 此外,我已在主线程上添加了它,不幸的是在 didRangeBeacons 中没有收到任何内容:(
  • 您应该发布一个新问题,因为这里的空间有限。但要知道,您最多只能监控 20 个区域。因此,您必须折叠您的区域并将自己限制为最多 20 个邻近 UUID。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多