メニューを閉じる

テクノデジタルグループ

メニューを開く

2020.05.26

プログラミング

濃厚接触通知アプリをWeb Bluetooth APIで自作できなかった

坂東です。

コロナ感染者との接触可能性を通知してくれる「濃厚接触通知アプリ」
https://k-tai.watch.impress.co.jp/docs/news/1254604.html

 

この「濃厚接触」の判定はBluetooth Low Energyの信号強度を利用しています。
シンガポール政府が開発したOSS「TraceTogether」とほぼ同じ仕組みかと思います。

https://ja.wikipedia.org/wiki/TraceTogether
https://github.com/opentrace-community

 

BLEは面白くて、すこし情報を載せられることを利用して弊社でメッセージアプリを作ったこともあります。(リジェクト済み)

https://prtimes.jp/main/html/rd/p/000000002.000009820.html

 

日本の濃厚接触アプリは開発経緯や開発の遅さがイケてない。
技術的には分かるし自作して遊ぼうかと思ったのですが、再発明するだけじゃつまんない。
そういえばWebでネイティブアプリっぽく動かすノリを思い出し、Bluetooth周りもJavascriptでいじれるようになってんじゃないかと。
ググったらWeb Bluetooth APIというのがあるんですね。

https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API

 

サンプルコードがありました。

https://googlechrome.github.io/samples/web-bluetooth/

 

欲しいのはBLEの信号をスキャンすることで、Androidでいうなら「getBluetoothLeScanner」。

https://googlechrome.github.io/samples/web-bluetooth/scan.html

 

動作要件が「Chrome 79+ 」なのはいいとして、デバッグフラグもONにしないと動かないので実用的ではないけれど、

chrome://flags/#enable-experimental-web-platform-features

 

とりあえず叩くと周囲のManufacturer Dataがザラザラと取れました。
受信はAndroid相当の実装はできるんじゃないかと思います。

 

ただ「バックグラウンドで動かす」「送信(startAdvertising)」は実装できなさそう。

なので、濃厚接触通知アプリをWeb Bluetooth API で作るのは無理でしょう。
QRコードでWeb開いてボタンクリックで周囲に感染者の信号があるか確認、ぐらいならできるけど作る意味はないかな。

 

おわり。

 

 


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事