33

与 iBeacon 及其后台功能相关的 SO 问题的数量正在增加,并且在这一点上存在一些混淆。我一直在测试 AirLocate 项目。

iBeacon 有 2 个“功能”:区域监控和测距。

区域监控仅限于 20 个区域,并且可以在(监听设备的)后台运行,并且有不同的代表通知监听应用程序(和用户)进入/退出该区域 - 即使应用程序在后台或手机被锁定.

测距仅在前台工作,但会返回(到监听设备)一个数组(无限?)所有找到的 iBeacon 及其属性(UUID 等)

此外,20 个区域的监控是设备限制。如果用户正在使用地理围栏提醒,其他使用区域监控的应用程序;这将降低该数字。

  1. 那么我们是说我不能部署一个使用商店 iBeacons 向用户发送“商店特定”通知的商场范围(100 家商店+)应用程序,而应用程序在后台或手机被锁定?

  2. 我认为广告设备(信标)也必须位于前台,以宣传收听设备可以“进入”的区域。我们是说,如果商店的所有者拥有 iOS 设备;例如,我不能通过要求他(至少在早期)将他的 iPhone 用作广告设备(信标)来为他省钱——因为该应用程序可能不会总是在前台?

  3. 因此,在 iBeacon + MLB 的情况下,应用程序使用单个 UUID(或 <20 个 UUID)来确定入口,然后用户需要解锁手机/将应用程序带到前台以使用它(找座位等)?

然后我可以调用 iBeacon:单个位置/事件(商店、公园等)功能,需要用户最“前台”的注意力才能拥有“完整”的实际用例?

我试图清楚地说明用户案例以使其实用。请多回答是或否。

4

1 回答 1

26

听起来你在正确的轨道上。一般来说,您是正确的,应用程序需要在前台才能充分使用 iBeacon 功能。关于您的三个主要问题的一些细节:

  1. 您的商场用例可能存在一些限制。(a) 您必须通过让许多或所有 100 家商店共享相同的 UUID 和/或主要编号(仅次要编号不同)来保护您的 CLBeaconRegions。这允许您设置单个 CLBeaconRegion 来监控多个。(b) 如果应用程序从看到 iBeacon 1 后唤醒到后台,它将无法再次从同一 CLBeaconRegion 中的 iBeacon 2 中唤醒,除非它首先停止看到该 CLBeaconRegion 中的任何其他信标。(您可以通过设置几个 CLBeaconRegions 并尝试分组存储,以便在重叠的 50 米蓝牙无线电范围内相邻的存储在不同的 CLBeaconRegions 中。)

  2. 不,店主不能将他们的 iPad 用作后台的 iBeacon——它必须在前台才能工作。但他们可以让他们的 Windows 或 Mac 计算机使用虚拟 iBeacon 程序来执行此操作。我公司提供免费下载:http: //developer.radiusnetworks.com/ibeacon/

  3. 在门禁用例中,是的,用户必须确认锁定屏幕上的通知才能将应用程序置于前台。一个典型的实现将使用单个 CLBeaconRegion(可能所有 iBeacons 共享一个 ProximityUUID 甚至可能是一个专业)来提醒用户。

编辑 2020 年 4 月 11 日: Apple 宣布了将在后台运行的新信标广告的计划。请参阅此处了解更多信息。

于 2013-10-21T01:47:34.640 回答