【问题标题】:Progressive web app beacon search渐进式网络应用信标搜索
【发布时间】:2017-06-19 12:41:53
【问题描述】:

是否可以使用渐进式 Web 应用程序搜索信标数据(uuid、url、...)?只使用 Web 技术而不使用本地移动技术(Android、ios、...)?

提前致谢。

【问题讨论】:

    标签: bluetooth beacon progressive-web-apps eddystone web-bluetooth


    【解决方案1】:

    很遗憾,截至 2020 年 7 月,这不可能。虽然 Google 一直在努力开发 WebBluetooth project,以便为浏览器提供对许多蓝牙操作的支持,至少在 Android 6+、Mac 或 ChromeOS 上的 Google Chrome 实施中是这样。

    截至撰写本文时,尚无法扫描信标。 API 要求操作系统扫描符合请求条件的设备,然后让用户使用用户界面选择要连接的设备。这基本上排除了信标检测。

    蓝牙扫描 API 仍处于草稿形式here.

    编辑:@zurfyx 在下面的答案中提到的 API 允许您扫描并连接到广告的 GATT 服务,但不允许您读取广告中的数据。这是一个关键的区别,因为读取广告中的数据是实际蓝牙信标检测所需的关键能力。该 API 缺少该功能。如果没有该功能,就无法检测到信标,只能连接到可能是 Eddystone 或其他基于服务广告的信标的 BLE 设备。

    2020 年 7 月更新:根据a June 2020 announcement by Apple 的说法,由于隐私问题,Safari 将不会获得任何 WebBluetooth API。这使得我们无法在 iOS 应用上进行蓝牙扫描在可预见的未来。

    自 2020 年 7 月起,Chrome 不支持扫描任意广告。在此处查看状态:https://github.com/WebBluetoothCG/web-bluetooth/blob/master/implementation-status.md

    【讨论】:

    • Apple 今年早些时候在其浏览器中实现了 PWA 支持。
    【解决方案2】:

    免责声明:我写了eddystone-web-bluetooth(一个便于读写 Eddystone 设备的库)。 github@eddystone-web-bluetoothnpm@eddystone-web-bluetooth

    可以使用Web Bluetooth API (currently supported only by Chrome) 扫描蓝牙设备。

    通过使用Bluetooth GATT service,您可以连接到 Eddystone 设备并通过按照their public specifications 进行通信来发送/接收数据(这基本上是一个请求代码列表,以及发送和期望其响应的格式)。

    这些服务包括以下信息:

    • 网址
    • 广告间隔
    • 锁定状态
    • more

    通过使用蓝牙标准信息,您可以了解最通用的设备信息,例如它的 id 和名称:

    navigator.bluetooth.requestDevice


    @beaufortfrancois 编写了可能是第一个 Eddystone Web 蓝牙配置代码 (source code / demo),因此如果您想深入了解它,可能值得一读。我从中学到了很多。

    【讨论】:

    • 那么 Eddystone 能否唤醒之前访问过的 PWA?
    • @Miquel 无论是 PWA,您都可以扫描信标。 PW API 将每隔几分钟(如果请求)重新获取一个 PWA(或不)。这能回答你的问题吗?
    • 所以如果我理解得很好,pwa 将安装一个服务工作者,当找到蓝牙时,chrome 将调用该服务工作者,这将唤醒应用程序以便它可以创建推送通知?有没有关于如何实现它的示例?
    • @Miquel 目前,考虑到此处显示的ServiceWorkerGlobalScope 属性 (developer.mozilla.org/en-US/docs/Web/API/…),您似乎无法通过 Service Worker 侦听器侦听蓝牙事件。
    猜你喜欢
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 2019-01-29
    相关资源
    最近更新 更多