我正在开发一个应用程序,其中有两个用户使用该应用程序并根据用户的当前位置创建区域。
现在我想要实现的是,当他们靠近并且他们的区域相互交互时,两者都会收到通知他们已进入一个区域。
如图所示。图1中黄色是一个用户的区域,
一旦他们的区域像第二张图片中描述的那样相互交互,那么双方都会收到通知。
我怎样才能做到这一点?
最佳答案
使用 iBeacon/CoreLocation/CoreBluetooth 实现此目的的典型方法是使用传输 iBeacon 广告并查找 iBeacon 广告的应用:
- 所有应用将使用相同的 ProximityUUID 进行传输和接收。
- 应用将传输一个唯一的主要/次要组合来标识应用安装。
- 应用程序将监视和范围内匹配此 ProximityUUID 的信标。
- 应用程序将传输一个 iBeacon 广告,其中包含以主要/次要编码的唯一 ID。
- 当对信标进行测距时,会读取主要/次要信息以识别附近的其他用户。
这种方法的一些局限性:
- iOS只能在前台中转
- 默认情况下,在首次检测到信标或离开前台后,后台的测距限制为 10 秒(可扩展至 180 秒)
- 如果一个信标留在附近,第二个信标的出现将不会触发背景唤醒以开始测距
关于ios - 当 2 个用户进入 iOS 中的特定区域时连接他们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43752335/