Draft
This page is not complete.
Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The BluetoothCharacteristicProperties interface of the the Web Bluetooth API provides the operations that are valid on the given BluetoothRemoteGATTCharacteristic. This interface is returned by calling BluetoothRemoteGATTCharacteristic.properties.
Properties
authenticatedSignedWritesRead only- Returns a
booleanthat istrueif signed writing to the characteristic value is permitted. broadcastRead only- Returns a
booleanthat istrueif the broadcast of the characteristic value is permitted using the Server Characteristic Configuration Descriptor. indicateRead only- Returns a
booleanthat istrueif indications of the characteristic value with acknowledgement is permitted. notifyRead only- Returns a
booleanthat istrueif notifications of the characteristic value without acknowledgement is permitted. readRead only- Returns a
booleanthat istrueif the reading of the characteristic value is permitted. reliableWriteRead only- Returns a
booleanthat istrueif reliable writes to the characteristic is permitted. writableAuxiliariesRead only- Returns a
booleanthat istrueif reliable writes to the characteristic descriptor is permitted. writeRead only- Returns a
booleanthat istrueif the writing to the characteristic with response is permitted. writeWithoutResponseRead only- Returns a
booleanthat istrueif the writing to the characteristic without response is permitted.
Examples
The following example shows how tell if a GATT characteristic supports value change notifications.
let device = await navigator.bluetooth.requestDevice({
filters: [{services: ['heart_rate']}]
});
let gatt = await device.gatt.connect();
let service = await gatt.getPrimaryService('heart_rate');
let characteristic = await service.getCharacteristic('heart_rate_measurement');
if (characteristic.properties.notify) {
characteristics.addEventListener('characteristicvaluechanged',
function(event) {
console.log(`Received heart rate measurement: ${event.target.value}`);
}
await characteristic.startNotifications();
}
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Bluetooth The definition of 'BluetoothCharacteristicProperties' 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
BluetoothCharacteristicProperties | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
authenticatedSignedWrites | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
broadcast | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
indicate | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
notify | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
read | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
reliableWrite | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
writableAuxiliaries | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
write | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
writeWithoutResponse | Chrome
Full support
56
| Edge
Full support
≤79
| Firefox No support No | IE No support No | Opera Full support Yes | Safari No support No | WebView Android No support No | Chrome Android Full support 56 | Firefox Android No support No | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
- 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.
