Ios 背景中的特定iBeacon检测

Ios 背景中的特定iBeacon检测,ios,ibeacon,Ios,Ibeacon,我一直在四处寻找一个直接的答案来回答我所面临的一个问题,但信息有点分散。根据答案,我不确定这是否可能 基本上,我使用iBeacons作为我的应用程序的组件。场景是这样的,你有一条拥有众多商店的大街。每家商店面向街道的橱窗里都有一个灯塔。用户的手机上有一个通用的购物应用程序 当一个用户走上商业街时,我希望用户在经过商店时收到通知。此通知会显示类似于查看MyShop的最新优惠和折扣,并提示打开应用程序。这一切都是因为应用程序在后台 所有的信标都有一个与我的应用程序相关的一致UDID。每个商店都有自己

我一直在四处寻找一个直接的答案来回答我所面临的一个问题,但信息有点分散。根据答案,我不确定这是否可能

基本上,我使用iBeacons作为我的应用程序的组件。场景是这样的,你有一条拥有众多商店的大街。每家商店面向街道的橱窗里都有一个灯塔。用户的手机上有一个通用的购物应用程序

当一个用户走上商业街时,我希望用户在经过商店时收到通知。此通知会显示类似于查看MyShop的最新优惠和折扣,并提示打开应用程序。这一切都是因为应用程序在后台

所有的信标都有一个与我的应用程序相关的一致UDID。每个商店都有自己的主要标识

我希望通知是针对一家商店的,该商店有一个特定的信标大调和小调,但我找不到一种方法来确定在后台输入了哪个信标


此外,一些商店可能很近,并且有广播重叠,如果每个信标都具有相同的UDID,那么为其输入区域的后台过程是否会触发?

用户点击本地通知将其带到前台后,您可以使用普通应用程序启动其他特定于商店的应用程序

有几点:

您必须将CoreLocation监视和测距API结合起来才能做到这一点。监视将在信标检测时将应用程序唤醒到后台,但仅持续10秒,测距将每秒为您提供一个NSArray更新,其中包含所有可见信标,以及完整的信标标识符和每个信标的距离估计

在测距回调中,您可以将估计距离与所有可见信标进行比较,以确定哪一个距离最近。最接近的是应该为商店发送本地通知的内容

不要将信标ProximityUID与iOS设备的唯一UDID混淆。这两个人彼此无关


是否仅在进入信标范围时触发测距?我设想一些商店的灯塔有重叠,所以我想在靠近商店门时触发灯塔。但信标从两个店铺的范围会导致重叠,这意味着“店铺A”会触发通知,但同时您已经进入了“店铺B”的范围。这有意义吗?是的,有意义,同一地区的信标重叠确实是个问题。如果您处于可以控制信标标识符的情况下,您可以通过为每个应用程序设置20个不同的区域(iOS允许的最大区域),每个区域具有不同的UUID或UUID/主组合来解决此问题。然后确保附近的所有节目都使用不同地区的信标。通过这种方式,当您经过商店时,您可以获得进入/退出事件,并且您有机会在后台进行活动。不完美,但它有帮助。