每个信标的唯一通知(超过 20 个信标)

Uniquie notification for each Beacon ( more than 20 beacons)

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

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

几点:

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

  2. Beacon 应用程序通常使用本地通知,而不是推送通知。

您设置来自许多不同信标的许多不同通知的方式是这样的:

  1. 定义一个匹配所有信标的通配符区域。 (如果需要背景触发,也可以是一些区域)。

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

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