Limited support 一部のブラウザのみ対応。使用時はサポート状況を確認すること。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
Bluetooth
実験的
70
79
56

getAvailability() は Bluetooth インターフェイスのメソッドで、(端末に Bluetooth アダプターがあるために)ユーザーエージェントが Bluetooth に対応する場合は実質的に true を返し、そうでない場合は false を返します。

78
79
78
getDevices
実験的

getDevices() は Bluetooth インターフェイスのメソッドで、このオリジンがアクセスを許可されている Bluetooth 機器を含む配列を返します。圏外だったり電源が切られていたりするものを含みます。

85
85
85
requestDevice
実験的

Bluetooth.requestDevice() は Bluetooth インターフェイスのメソッドで、指定のオプションに合致する BluetoothDevice オブジェクトで履行される Promise を返します。 選択用の UI が無い場合は、このメソッドは基準に合致する最初の機器を返します。

56
79
56
requestDevice (options exclusionFilters parameter)
実験的

options.exclusionFilters`パラメータ

114
114
114
requestDevice (options filter manufacturerData parameter)
実験的

options.filter.manufacturerData`パラメータ

92
92
92

Web Bluetooth API の BluetoothCharacteristicProperties インターフェイスは、指定の BluetoothRemoteGATTCharacteristic で有効な操作を提供します。

70
79
56

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ authenticatedSignedWrites は、キャラクタリスティックの値への署名付き書き込みが許可されているならば true となる boolean 値を返します。

56
79
56
broadcast
実験的

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ broadcast は、Server Characteristic Configuration Descriptor によりキャラクタリスティックの値のブロードキャストが許可されているならば true となる boolean 値を返します。

56
79
56
indicate
実験的

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ indicate は、キャラクタリスティックの値のアクノリッジメントありのインジケーションが許可されているならば true となる boolean 値を返します。

56
79
56
notify
実験的

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ notify は、キャラクタリスティックの値のアクノリッジメントなしのノーティフィケーションが許可されているならば true となる boolean 値を返します。

56
79
56
read
実験的

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ read は、キャラクタリスティックの値の読み取りが許可されているならば true となる boolean 値を返します。

56
79
56
reliableWrite
実験的

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ reliableWrite は、キャラクタリスティックへの信頼性のある書き込みが許可されているならば true となる boolean 値を返します。

56
79
56

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ writableAuxiliaries は、キャラクタリスティックディスクリプターへの信頼性のある書き込みが許可されているならば true となる boolean 値を返します。

56
79
56
write
実験的

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ write は、キャラクタリスティックへのレスポンスありの書き込みが許可されているならば true となる boolean 値を返します。

56
79
56

BluetoothCharacteristicProperties インターフェイスの読み取り専用プロパティ writeWithoutResponse は、キャラクタリスティックへのレスポンスなしの書き込みが許可されているならば true となる boolean 値を返します。

56
79
56

Web Bluetooth API のBluetoothDevice インターフェイスは、特定のスクリプト実行環境下における Bluetooth デバイスを表します。

70
79
56
gatt
実験的

読み取り専用プロパティ BluetoothDevice.gatt は、デバイスの BluetoothRemoteGATTServer への参照を返します。

56
79
56
gattserverdisconnected_event
実験的

gattserverdisconnected`イベント

56
79
56
id
実験的

読み取り専用プロパティ BluetoothDevice.id は、デバイスを一意に識別する文字列を返します。

56
79
56
name
実験的

読み取り専用プロパティ BluetoothDevice.name は、デバイスの人間にわかりやすい名前を表す文字列を返します。

56
79
56

Web Bluetooth API の BluetoothRemoteGattCharacteristic インターフェイスは、GATT キャラクタリスティックを表します。これは、周辺機器のサービスに関する詳細情報を提供する基本的なデータ要素です。

70
79
56
characteristicvaluechanged_event
実験的

characteristicvaluechanged`イベント

56
79
56
getDescriptor
実験的

BluetoothRemoteGATTCharacteristic.getDescriptor() メソッドは、指定のディスクリプター UUID に対応する最初の BluetoothRemoteGATTDescriptor で解決する Promise を返します。

57
79
57

BluetoothRemoteGATTCharacteristic.getDescriptors() メソッドは、指定のディスクリプター UUID に対応するすべての BluetoothRemoteGATTDescriptor オブジェクトの Array で解決する Promise を返します。

57
79
57
properties
実験的

読み取り専用プロパティ BluetoothRemoteGATTCharacteristic.properties は、このキャラクタリスティックのプロパティが格納された BluetoothCharacteristicProperties のインスタンスを返します。

56
79
56
readValue
実験的

BluetoothRemoteGATTCharacteristic.readValue() メソッドは、利用可能で対応していれば、value プロパティの複製が格納された DataView で解決する Promise を返します。そうでない場合は、エラーを投げます。

56
79
56
service
実験的

読み取り専用プロパティ BluetoothRemoteGATTCharacteristic.service は、このキャラクタリスティックが属する BluetoothRemoteGATTService を返します。

56
79
56

BluetoothRemoteGATTCharacteristic.startNotifications() メソッドは、それに関する活動中のノーティフィケーションが存在するようになったら BluetoothRemoteGATTCharacteristic のインスタンスで解決する Promise を返します。

56
79
56

BluetoothRemoteGATTCharacteristic.stopNotifications() メソッドは、それに関する活動中のノーティフィケーションが存在しなくなったら BluetoothRemoteGATTCharacteristic のインスタンスで解決する Promise を返します。

56
79
56
uuid
実験的

読み取り専用プロパティ BluetoothRemoteGATTCharacteristic.uuid は、このキャラクタリスティックの UUID を表す文字列を返します。たとえば、Heart Rate Measurement characteristic は '00002a37-0000-1000-8000-00805f9b34fb' です。

56
79
56
value
実験的

読み取り専用プロパティ BluetoothRemoteGATTCharacteristic.value は、現在キャッシュされているキャラクタリスティックの値を返します。この値は、キャラクタリスティックの値が読まれるか、ノーティフィケーションやインディケーションによって更新されると更新されます。

56
79
56

BluetoothRemoteGATTCharacteristic.writeValueWithoutResponse() メソッドは、BluetoothRemoteGATTCharacteristic オブジェクトの value プロパティを渡された ArrayBuffer に格納されたバイト列に設定し、WriteCharacteristicValue(this=this, value=value, response="never") を呼び出し、結果の Promise を返します。

85
85
85

BluetoothRemoteGATTCharacteristic.writeValueWithResponse() メソッドは、BluetoothRemoteGATTCharacteristic オブジェクトの value プロパティを渡された ArrayBuffer に格納されたバイト列に設定し、WriteCharacteristicValue(this=this, value=value, response="required") を呼び出し、結果の Promise を返します。

85
85
85

Web Bluetooth API の BluetoothRemoteGATTDescriptor は、GATT ディスクリプターを提供します。これは、キャラクタリスティックの値に関する詳細情報を提供します。

70
79
57

読み取り専用プロパティ BluetoothRemoteGATTDescriptor.characteristic は、このディスクリプターが属する BluetoothRemoteGATTCharacteristic を返します。

57
79
57
readValue
実験的

BluetoothRemoteGATTDescriptor.readValue() メソッドは、利用可能で対応していれば value プロパティの複製が格納された ArrayBuffer で解決する Promise を返します。そうでない場合、エラーを投げます。

57
79
57
uuid
実験的

読み取り専用プロパティ BluetoothRemoteGATTDescriptor.uuid は、このキャラクタリスティックディスクリプターの UUID を返します。 たとえば、theClient Characteristic Configuration descriptor は「00002902-0000-1000-8000-00805f9b34fb」です。

57
79
57
value
実験的

読み取り専用プロパティ BluetoothRemoteGATTDescriptor.value は、現在キャッシュされているディスクリプターの値を返します。この値はディスクリプターの値が読まれると更新されます。

57
79
57
writeValue
実験的

BluetoothRemoteGATTDescriptor.writeValue() メソッドは、value プロパティを ArrayBuffer に格納されたバイト列に設定し、Promise を返します。

57
79
57

Web Bluetooth API の BluetoothRemoteGATTServer インターフェイスは、リモートデバイス上の GATT サーバーを表します。

70
79
56
connect
実験的

BluetoothRemoteGATTServer.connect() メソッドは、このスクリプト実行環境を this.device に接続させます。

56
79
56
connected
実験的

読み取り専用プロパティ BluetoothRemoteGATTServer.connected は、このスクリプト実行環境が this.device に接続されている間 true を返す論理値です。ユーザーエージェントが物理的に接続されていても false になる可能性があります。

56
79
56
device
実験的

読み取り専用プロパティ BluetoothRemoteGATTServer.device は、このサーバーを動かしている BluetoothDevice への参照を返します。

56
79
56
disconnect
実験的

BluetoothRemoteGATTServer.disconnect() メソッドは、このスクリプト実行環境を this.device から切断させます。

56
79
56

BluetoothRemoteGATTServer.getPrimaryService() メソッドは、Bluetooth デバイスが提供している指定の Bluetooth サービス UUID に対応するプライマリー BluetoothRemoteGATTService で解決するプロミスを返します。

56
79
56

BluetoothRemoteGATTServer.getPrimaryServices() メソッドは、Bluetooth デバイスが提供している指定の BluetoothServiceUUID に対応するプライマリー BluetoothRemoteGATTService オブジェクトのリストで解決するプロミスを返します。

56
79
56

Web Bluetooth API の BluetoothRemoteGATTService インターフェイスは、GATT サーバーにより提供されるサービスを表します。デバイス、参照されるサービス、このサービスのキャラクタリスティックのリストも含みます。

70
79
56
device
実験的

読み取り専用プロパティ BluetoothGATTService.device は、BluetoothDevice のインスタンスを通じて、この Bluetooth デバイスの情報を返します。

56
79
56

BluetoothGATTService.getCharacteristic() メソッドは、指定の universally unique identifier (UUID) に対応する BluetoothRemoteGATTCharacteristic のインスタンスで解決する Promise を返します。

56
79
56

BluetoothGATTService.getCharacteristics() メソッドは、指定の universally unique identifier (UUID) に対応する BluetoothRemoteGATTCharacteristic のインスタンスのリストで解決する Promise を返します。

56
79
56
isPrimary
実験的

読み取り専用プロパティ BluetoothGATTService.isPrimary は、これがプライマリーサービスかを表す論理値を返します。プライマリーサービスでなければ、セカンダリーサービスです。

56
79
56
uuid
実験的

読み取り専用プロパティ BluetoothGATTService.uuid は、このサービスの UUID を表す文字列を返します。

56
79
56

Web Bluetooth API の BluetoothUUID インターフェイスは、Bluetooth SIG が管理しているレジストリーから Universally Unique Identifier (UUID) の値を名前で検索する方法を提供します。

70
79
56

BluetoothUUID インターフェイスの静的メソッド canonicalUUID() は、16 ビットまたは 32 ビットの UUID エイリアスを受け取り、128 ビットの UUID を返します。

56
79
56

BluetoothUUID インターフェイスの静的メソッド getCharacteristic() は、名前、もしくは 16 ビットまたは 32 ビットの UUID エイリアスを受け取り、登録されたキャラクタリスティックを表す 128 ビットの UUID を返します。

56
79
56

BluetoothUUID インターフェイスの静的メソッド getDescriptor() は、名前、もしくは 16 ビットまたは 32 ビットの UUID エイリアスを受け取り、登録されたディスクリプターを表す 128 ビットの UUID を返します。

56
79
56

BluetoothUUID インターフェイスの静的メソッド getService() は、名前、もしくは 16 ビットまたは 32 ビットの UUID エイリアスを受け取り、登録されたサービスを表す 128 ビットの UUID を返します。

56
79
56
bluetooth
実験的

bluetooth は Navigator インターフェイスの読み取り専用プロパティで、現在の文書の Bluetooth オブジェクトを返し、 Web Bluetooth API の機能へアクセスできるようにします。

70
79
56
その他
html.elements.iframe.allow.bluetooth
実験的
104
104
104

HTTP の Permissions-Policy ヘッダーにおける bluetooth ディレクティブは、現在の文書で Web Bluetooth API の使用を許可するかどうかを制御します。

104
104
104
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 1件
実験的機能
  • ブラウザの実験的フラグを有効にする必要があります
注釈 1件
実験的機能
  • ブラウザの実験的フラグを有効にする必要があります
注釈 1件
実験的機能
  • ブラウザの実験的フラグを有効にする必要があります
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。
  • macOSのみ対応。
削除済み
  • このバージョンで機能が削除されました (70)
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • Linuxのサポートはデフォルトでは有効になっていない。

基本構文

JAVASCRIPT
const device = await navigator.bluetooth.requestDevice({
  filters: [{ services: ['heart_rate'] }]
});
const server = await device.gatt.connect();
const service = await server.getPrimaryService('heart_rate');
const char = await service.getCharacteristic('heart_rate_measurement');

実務での使いどころ

  • Web Bluetooth の活用

    安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

注意点

  • 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。

アクセシビリティ

  • スクリーンリーダーでの読み上げを確認すること。