This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The BluetoothRemoteGATTService interface of the Web Bluetooth API represents a service provided by a GATT server, including a device, a list of referenced services, and a list of the characteristics of this service.
Interface
interface BluetoothRemoteGATTService : ServiceEventHandlers {
readonly attribute UUID uuid;
readonly attribute boolean isPrimary;
readonly attribute BluetoothDevice device;
Promise<BluetoothGATTCharacteristic> getCharacteristic(BluetoothCharacteristicUUID characteristic);
Promise<sequence<BluetoothGATTCharacteristic>> getCharacteristics(optional BluetoothCharacteristicUUID characteristic);
Promise<BluetoothGATTService> getIncludedService(BluetoothServiceUUID service);
Promise<sequence<BluetoothGATTService>> getIncludedServices(optional BluetoothServiceUUID service);
};
Properties
BluetoothRemoteGATTService.deviceRead only- Returns information about a Bluetooth device through an instance of
BluetoothDevice. BluetoothRemoteGATTService.isPrimaryRead only- Returns a
BooleanIndicating whether this is a primary or secondary service. BluetoothRemoteGATTService.uuidRead only- Returns a
DOMStringrepresenting the UUID of this service.
Methods
BluetoothRemoteGATTService.getCharacteristic()- Returns a
Promiseto an instance ofBluetoothGATTCharacteristicfor a given universally unique identifier (UUID). BluetoothRemoteGATTService.getCharacteristics()- Returns a
Promiseto anArrayofBluetoothGATTCharacteristicinstances for an optional universally unique identifier (UUID). BluetoothRemoteGATTService.getIncludedService()- Returns a
Promiseto an instance ofBluetoothRemoteGATTServicefor a given universally unique identifier (UUID). BluetoothRemoteGATTService.getIncludedServices()- Returns a
Promiseto anArrayofBluetoothRemoteGATTServiceinstances for an optional universally unique identifier (UUID).
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Bluetooth The definition of 'BluetoothRemoteGATTService' in that specification. |
Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
BluetoothRemoteGATTService | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
device | Chrome No support No | Edge No support No | Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android No support No |
getCharacteristic | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
getCharacteristics | Chrome No support No | Edge No support No | Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android No support No |
getIncludedService | Chrome No support No | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android No support No |
getIncludedServices | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
isPrimary | Chrome No support No | Edge No support No | Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android No support No |
uuid | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera
Full support
43
| Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
