回答

4

不幸的是,截至2017年6月这是不可能的。尽管谷歌一直致力于WebBluetooth project为浏览器带来许多蓝牙操作支持,至少在Android 6+,Mac或ChromeOS上的Google Chrome实施中。

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

蓝牙扫描的API仍然是草案形式here.

此外,苹果尚未给出其支持的Safari这些扩展的iOS或其他平台感兴趣的指示。

+0

这是可能的,现在用PWA? –

1

免责声明:我写了eddystone-web-bluetooth(一个库,它可以很容易地读取和写入Eddystone设备)。 [email protected][email protected]

能够通过使用Web Bluetooth APIcurrently supported only by Chrome)扫描蓝牙设备。

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

这些服务包括信息,如:

  • URL
  • 广告间隔
  • 锁定状态
  • more

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

navigator.bluetooth.requestDevice

Bluetooth device information


@beaufortfrancois写的大概是第一次埃迪斯通的Web蓝牙配置代码(source code/demo),所以如果你想挖掘更多的进入这个它可能是值得一读。我从中学到了很多东西。

+0

那么Eddystone能唤醒以前访问过的PWA吗? – Miquel

+0

@Miquel无论您是PWA,您都可以扫描信标。 PWA(或不)将每隔几分钟由PW API重新提交(如果需要)。这是否回答你的问题? – zurfyx

+0

所以如果我理解的很好,那么pwa会安装一个服务工作人员,当蓝牙被发现时这个服务工作人员将会打电话,这会唤醒应用程序,以便它可以创建推送通知?有没有关于如何实现它的示例? – Miquel

相关问题