问题描述
我们可以让iOS设备充当iBeacon发射器,如果我们知道他们的Proximity UUID,我们可以找到附近的iBeacons。
We can make iOS devices act as a iBeacon transmitter and We can locate nearby iBeacons if we know their Proximity UUID.
使用Google的Proximity Beacon API,可以配置和注册真正的Beacon硬件,我们可以使用Nearby Messaging API找到它们。
With Google's Proximity Beacon API, It's possible to configure and register real Beacon hardware, and we can locate them with Nearby Messaging API.
但是有可能让iOS设备作为Eddystone Beacons进行广播吗?它需要被扫描Eddystone信标的应用程序发现。
But is it possible to make iOS devices to broadcast as Eddystone Beacons ? And it needs to be discoverable by apps that scan Eddystone beacons.
提前致谢。
推荐答案
不幸的是,这是不可能的。虽然iOS设备可以使用CoreBluetooth API来宣传蓝牙LE服务广告(这是Eddystone使用的广告类型),但您无法附加必要的数据。这是因为将服务数据与广告相关联的 CBAdvertisementDataServiceDataKey
在iOS上是只读的。你不能设置数据。
Unfortunately, this is not possible. While iOS devices can advertise Bluetooth LE service advertisements(which are the advertisement type used by Eddystone) using CoreBluetooth APIs, you cannot attach the necessary data. This is because the CBAdvertisementDataServiceDataKey
that associates service data to an advertisement is read-only on iOS. You can't set the data.
所以当你想让iOS设备做这样的广告来传输Eddystone-UID:
So while you want to make the iOS device advertise something like this to transmit Eddystone-UID:
0201060303aafe1516aafe00e72f234454f4911ba9ffa6000000000001
你最终宣传的内容如下:
You end up advertising something like this:
0201060303aafe0316aafe
这样就不再使用Eddystone-UID类型代码(00) ,校准功率(e7),命名空间标识符(2f234454f4911ba9ffa6)和实例标识符(000000000001)。因此,它不会被识别为Eddystone-UID框架。
This leaves off the Eddystone-UID type code (00), the calibrated power (e7), the namespace identifier (2f234454f4911ba9ffa6) and the instance identifier (000000000001). As a result, it won't be recognized as an Eddystone-UID frame.
这篇关于我可以将iPhone / iPad广播作为Eddystone Beacon吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!