回答

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

相關問題