iBeacon:如果客户收到信标或进入其区域,广播公司的iOS设备会收到通知吗?

时间:2013-12-12 07:15:54

标签: ibeacon

我有两个iOS设备;一个是使用peripheralManager,beaconPeripheralData等发送信标。第二个是接收设备,当前正在使用didEnterRegion,didRangeBeacons等扫描相同UUID的区域和信标。

是否有任何方法或回调让-broadcaster-侧知道扫描方是否已进入其区域或已收到其信标?类似于“didEnterRegion”的东西,但对于广播公司而言。

感谢。

3 个答案:

答案 0 :(得分:2)

简单回答 - 没有。 答案不是那么简单 - 客户没有连接到“广播公司”,他们只是听广告,所以“广播公司”无法确定谁“听到”了广告。

答案 1 :(得分:2)

弗拉基米尔的回答是正确的。但是,您可以设置“广播公司”(广告客户,以BLE术语)也可以收听广告服务或发送iBeacon广播的其他BLE设备。

然后你会设置远程接收iOS应用程序,以便在获得didEnterRegion调用时执行特殊代码。该代码可以开始宣传您的“广播公司”已经在监听的预定义BLE服务,然后这两个设备可以进入双向BLE对话。

更简单地说,当接收到由于检测到“广播公司”的信标信号而获得didEnterRegion消息时,您的接收器可以简单地开始发送它自己的信标信号。

答案 2 :(得分:0)

你可以做到这一点,你只需要使用CoreBluetooth CBCentral和CBPeripheral,而不是试图成为一个iBeacon(它鼓励不可连接性)。

虽然没有标准的方法让广播公司或外围设备自动知道谁找到了它,但您可以通过在iOS外围设备上提供服务和特性来实现这一目标。您可以对特定的UUID进行集中扫描,并在找到它时,让它连接并写入属性,然后断开连接。这将为您提供有关谁看到它的外围信息。

这可以避免您尝试在作为广播公司的设备和中央设备之间切换的问题,因为您无法同时兼顾它们。