什么是 URIBeacon 的 BeaconLayout?
What is the BeaconLayout for URIBeacon?
我正在尝试检测(Eddystone 之前)uri-beacon using the android-beacon-library, but it's not clear to me how the transform the uri-beacon spec into a BeaconLayout 字符串。
比较example EddyStone strings to the EddyStone spec也是一头雾水。字节偏移量似乎不匹配。我一定是遗漏了一些重要的东西。
根据最新规范 here,您可以使用以下内容解码 Eddystone 之前的 URI 信标:
beaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout("s:0-1=fed8,m:2-2=00,p:3-3:-41,i:4-21v"));
重要提示:我自己没有测试过,而且由于我无法访问原始 URI 信标,所以我不能保证它会起作用。如果您确实检测到具有此布局的信标,则需要将标识符解码为 URL,如下所示:
String url = UrlBeaconUrlCompressor.uncompress(beacon.getId1().toByteArray());
上述解压缩方法不适用于 urn:uuid: 原始 URI 信标格式的方案,但它会解压缩常规 URLs。
您可以在此处阅读有关使用 URL 信标与 Android 信标库的更多信息:https://altbeacon.github.io/android-beacon-library/eddystone-how-to.html
如果您确实使此工作正常,请通过接受此答案或在下方发表评论来确认布局。然后我可以将布局添加到库的内置常量和文档中。
完全披露:我是 Android Beacon Library 开源项目的首席开发人员。
我正在尝试检测(Eddystone 之前)uri-beacon using the android-beacon-library, but it's not clear to me how the transform the uri-beacon spec into a BeaconLayout 字符串。
比较example EddyStone strings to the EddyStone spec也是一头雾水。字节偏移量似乎不匹配。我一定是遗漏了一些重要的东西。
根据最新规范 here,您可以使用以下内容解码 Eddystone 之前的 URI 信标:
beaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout("s:0-1=fed8,m:2-2=00,p:3-3:-41,i:4-21v"));
重要提示:我自己没有测试过,而且由于我无法访问原始 URI 信标,所以我不能保证它会起作用。如果您确实检测到具有此布局的信标,则需要将标识符解码为 URL,如下所示:
String url = UrlBeaconUrlCompressor.uncompress(beacon.getId1().toByteArray());
上述解压缩方法不适用于 urn:uuid: 原始 URI 信标格式的方案,但它会解压缩常规 URLs。
您可以在此处阅读有关使用 URL 信标与 Android 信标库的更多信息:https://altbeacon.github.io/android-beacon-library/eddystone-how-to.html
如果您确实使此工作正常,请通过接受此答案或在下方发表评论来确认布局。然后我可以将布局添加到库的内置常量和文档中。
完全披露:我是 Android Beacon Library 开源项目的首席开发人员。