BluettoothLEAdvertisementPublisherクラスを使って、
Windows 10のユニバーサルアプリからAndroid等のiBeacon検知アプリに対して
アドバタイズメッセージを送る方法がようやくわかってきたので、備忘録。
BluettoothLEAdvertisementPublisherクラスを使って、
Windows 10のユニバーサルアプリ間でのアドバタイズメッセージのやり取りは確認できていたけど、
iBeacon検知用に作ったAndroidアプリでなぜか受信できなくて。
アドバタイズメッセージのタイプが間違っているのだろうかと思って
関連クラスをいろいろ見てみたけど、それらしいプロパティを持つクラスもいない。
BluettoothLEAdvertisementPublisherで送信するデータは、
BluettoothLEManufactureDataクラスで指定するけど、
このクラスにはCompanyIDとDataプロパティぐらいしかない。
どうやらこのBluettoothLEManufactureDataクラスで、
iBeaconのCompanyID、Indicator、proximity UUID、Major/Minorフィールドを設定するみたい。
なので、Dataプロパティ側にCompanyIDを除くデータをセットする必要がある。
ということで、
このページを参考にして、上記のデータを適当にセットし、
BluettoothLEAdvertisementPublisherクラスで配信させてみると、
AndroidのiBeacon検知アプリで無事検知できました!
これが本当に正しいかどうかは、現状のMSDNの記載レベルからではわからない。
BluettoothLEAdvertisementPublisherクラスのソースコードがあるわけでもないので、
動かして検証するしかないかな・・・。
これからラズパイ2のIoT Core用アプリに移植して試してみよう。