Bluetooth LE 経由で通信するためのカスタム ビーコンがいくつかあります。現在、私は LE スキャンを実行しており、見つかった BLE デバイスの MAC アドレスが私のものであるかどうかを確認しています。
ビーコンの 1 つが範囲内にある場合は、すべてを自分で実装するのではなく、Google Awareness Fence API を使用してトリガーしたいと考えています。しかし、そのような を作成したい場合はAwarenessFence
、属性しか定義できません
- 名前空間、
- タイプ
TypeFilter を使用する場合:
final BeaconState.TypeFilter typeFilter = BeaconState.TypeFilter.with("abc", "def");
final AwarenessFence beaconFence = BeaconFence.found(typeFilter);
Awareness.FenceApi.updateFences(
client,
new FenceUpdateRequest.Builder()
.addFence(BEACON_FENCE, beaconFence, pi)
.build())
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
if (status.isSuccess()) {
Log.i(TAG, "Fence was successfully registered.");
} else {
Log.e(TAG, "Fence could not be registered: " + status);
}
}
});
質問:
名前空間と型は何を意味しますか? これらの属性はすべての BLE デバイスに与えられていますか? ビーコンから何らかの方法で読み取ることができますか? それとも、これは Eddystone 特有のものですか?
ビーコンの MAC アドレスで Awareness API を使用できますか?