与iBeacon及其背景能力相关的SO问题数量正在增加,并且在这一点上存在一些混淆。 我一直在测试AirLocate项目。
iBeacon有2个“能力”:区域监控和测距。
区域监控仅限于20个地区,可以在后台(听音设备)运行,并有不同的代表通知该区域的进入/退出的听力应用(和用户) - 即使app在后台或手机已锁定。
测距只能在前台工作,但会返回(到听音设备)所有iBeacons及其属性(UUID等等)的数组(无限制?)
此外,20个区域监控是设备限制。如果用户正在使用地理围栏提醒,则使用区域监控的其他应用程序;这会降低这个数字。
所以我们说我不能部署一个商城范围内的(100商店+)应用程序,它使用商店iBeacons向用户发送“特定于商店”的通知,而应用程序在后台或手机中被锁定了吗?
我认为广告设备(信标)也必须在前台,以宣传听音设备可以“进入”的区域。我们也这样说,如果商店的所有者拥有iOS设备;我不能通过要求他使用他的iPhone(至少在早期)作为广告设备(信标)来节省他的钱 - 因为应用程序很可能并不总是在前台?
因此,在iBeacon + MLB的情况下,单个UUID(或< 20 UUID)用于应用程序以可能确定入口门,然后将要求用户解锁电话/将应用程序带到前台使用它(找到座位等...)?
我可以调用iBeacon:单个位置/事件(商店,公园等)功能需要用户最“前景”的注意力才能拥有“完整”的实际用例吗?
我试图明确表达用户案例以使其实用化。请回复是或否。
答案 0 :(得分:25)
听起来你走在正确的轨道上。一般来说,一个应用程序需要在前台才能完全使用iBeacon功能。关于你的三个主要问题的一些细节:
您的商城用例可以使用一些限制。 (a)您必须通过让许多或所有100个商店共享相同的UUID和/或主要号码来保存您的CLBeaconRegions,仅在次要号码上有所不同。这允许您设置单个CLBeaconRegion来监视许多。 (b)如果应用程序因看到iBeacon 1而在后台醒来,它将无法再次在相同的CLBeaconRegion 中看到iBeacon 2时唤醒,除非它首先停止看到任何其他CLBeaconRegion中的灯塔。 (您可以通过设置多个CLBeaconRegions并尝试组存储来进行游戏,因此重叠的50米蓝牙无线电范围内的相邻存储区位于不同的CLBeaconRegions中。)
不,商店老板不能在后台使用他们的iPad作为iBeacon - 它必须在前台工作。但他们可以使用Windows或Mac计算机使用虚拟iBeacon程序执行此操作。我的公司提供免费下载:http://developer.radiusnetworks.com/ibeacon/
在门禁用例中,是的,用户必须在锁定屏幕上确认通知才能将应用程序置于前台。典型的实现将使用单个CLBeaconRegion(可能所有iBeacons共享ProximityUUID,甚至可能是主要的)来提醒用户。