Skip to content

Latest commit

 

History

History
97 lines (78 loc) · 7.15 KB

implementation-status.md

File metadata and controls

97 lines (78 loc) · 7.15 KB

Implementation Status

This document shows the implementation status of Web Bluetooth on the different browsers.

Chrome browser logoOpera browser logoServo browser logoFirefox browser logoMicrosoft Edge browser logoSafari browser logoSamsung Internet browser logo

Chrome

Work is in progress:

Feature/Platform Chrome OS Android Mac Linux Windows
getAvailability()
Referring Device (Physical Web)
Discovery
└ Service list
└ Name or prefix
└ Manufacturer/Service data
└ acceptAllDevices
Chooser UI
permissions.request()
permissions.query()
permissions.revoke()
watchAdvertisements()
Persistent Device IDs
GATT Server Connect
GATT Server Disconnect
Hanging connect() abortable by disconnect()
getPrimaryService*()
getIncludedService*()
getCharacteristic*()
Characteristic Properties
Read Characteristic
Write Characteristic
Start GATT Notifications
Stop GATT Notifications
{start,stop}Notifications returns this 54
Descriptors
Event bubbling
Device Disconnected Event
Service Changed Event
BluetoothUUID
TypeError for bad UUIDs 55 55 55 55 55
Invalidate objects upon disconnect
GATT Blacklist
Low-latency Blacklist Updates
Feature/Platform Chrome OS Android Mac Linux Windows
Advertisements Scanning

Tip: Chrome channel releases are tracked at https://googlechrome.github.io/current-versions/.

Notes

  • Android: Requires Android 6, Marshmallow or later.
  • Tip of tree Chromium builds work on Android 5, Lollipop and later for ease of developers - but Chrome versions will only ever support Marshmallow or later. Read how to play with Web Bluetooth on Lollipop.
  • Mac: Requires OS X Yosemite or later.
    • Some MacBooks may not work: Check "About this Mac" / "System Report" / "Bluetooth" and verify that Low Energy is supported.
  • Linux: Requires Kernel 3.19+ and BlueZ 5.41+ installed. Read How to get Chrome Web Bluetooth working on Linux.
    • Note that Bluetooth daemon needs to run with experimental interfaces: sudo /usr/sbin/bluetoothd -E
  • Windows: Requires Windows 8.1.
    • To discover devices the user hasn't yet manually paired, requires Windows 10.

Unsupported platforms

  • Android WebView: Will be supported in the future.
  • iOS: Uses the web exposed APIs as provided by the WKWebView, no implementation planned in the Chromium codebase.

Opera

Same as Chrome unless specified otherwise

Servo

https://szeged.github.io/servo/

Firefox

Microsoft Edge

https://dev.windows.com/en-us/microsoft-edge/platform/status/webbluetooth

Safari

https://bugs.webkit.org/show_bug.cgi?id=101034

Samsung Internet

http://developer.samsung.com/forum/board/thread/view.do?boardName=SDK&messageId=296269