我目前对Beacons如何工作感兴趣,但我对此有一些疑问。 对于iOS,我只看到有关Beacon UUID的源代码。但对于Android,我只看到“灯塔布局”。
它们是一样的吗?它们可以从一种格式转换为另一种格式吗?
假设我有这个Beacon UUID:
636f3f8f-6491-4bee-95f7-d8cc64a863b5
这是否可以获得信标布局?但更具体地说,究竟什么是灯塔布局?
谢谢!
答案 0 :(得分:0)
信标“布局”是指信标格式,具体是如何将不同字段编码为在蓝牙LE广告数据包内传输信息所需的字节。
像Apple这样的公司将其信标格式保留为商业机密,因此他们不允许发布它们。像Android Beacon Library这样的开源模块不能包含解码这些信标而不发布它们的方法。因此,他们使用布局字符串,这是用户快速轻松地告诉库解码该信标的一种方式。
以下是开源AltBeacon格式的一个示例,它不介意发布它的人:
m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25
这意味着匹配此布局的蓝牙LE信标传输可以像这样编码/解码:
还有其他一些流行的信标格式,如iBeacon和Eddystone。它们有自己的布局字符串,与上面显示的非常相似。
虽然您无法互换使用不同的信标格式,但您可以在iOS和Android上使用所有这些信标格式。在Android上使用专有格式只需要进行谷歌搜索,找到信标格式的正确布局字符串,然后像这样配置:
BeaconManager.getBeaconParsers().add(
new BeaconParser().setBeaconLayout("<paste layout string here>"));