BLE スキャンは、マシュマロ以降、デバイスの位置をオンにする必要があるという大きな違いに直面しました。技術的には、BLE デバイスをスキャンするために場所が必要になる正当な理由がわかりません。なぜこれがGoogleによって行われたのですか?
1 に答える
Q: なぜこれが Google によって行われたのですか?
A: BLE スキャンは、Bluetooth LE ビーコンを使用してユーザーの位置を特定するために一般的に使用されているためです。
変更がまだリリースされていないときに、Google I/O 2015 の Q&A セッションで Google のエンジニアとこのことについて話し合いました。当時の私の懸念は、ロケーション ビーコンをスキャンするために Bluetooth LE 管理者のアクセス許可を求めなければならないことでした。私にとって、これは問題でした。なぜなら、ユーザーは私のアプリがユーザーの位置を見つける必要があることを理解していましたが、Bluetooth を管理する必要がある理由を理解していなかったからです。
エンジニアの回答は、これをユーザーにわかりやすくするために、Android M でこれを行うには位置情報の許可 (および位置情報のオン) が必要であるというものでした。残念ながら、私の見解では、歴史的な理由から、Bluetooth 管理者のアクセス許可がまだ必要です。
もちろん、Google の決定に反対することもできます。しかし、その理由は明らかです。アプリが Bluetooth デバイスをスキャンし、MAC アドレスやその他の識別子を読み取ることができる場合、アプリの開発者がこれらのスキャンされたデバイスの場所を知っていれば、ユーザーの場所も特定できます。
同じ場所の許可ロジックが WiFi または Bluetooth Classic のスキャンに適用されない理由 (どちらも同じことを許可します) はあまり明確ではありません。 おそらく、Google が Eddystone 標準を使用して Bluetooth LE ビーコン ゲームに参加する準備をしていたというだけのことです。
訂正: WiFi スキャンには位置情報の許可が必要です。