前回までに,
今回はAppleのiBeaconとの比較を行っていきたいと思います。
位置情報サービスの進化
ここ数年のiOSでは,
iBeaconもその流れの中で登場した技術の1つであり,
iOSのSDKにおいて,
iBeaconの技術概要
iBeaconのアドバタイジングパケット
UriBeaconの時に紹介したBLEのアドバタイジングパケットを思い出してみましょう。パケットの中で,
UriBeaconのときは,
ここにProximityUUIDと言うUUID,
受信側はこれらの値で,
iOSでのビーコン側の実装
主題が逸れてしまうので,
第2回で触れたように,
CBPeripheralManagerのstartAdvertisingメソッドに設定値を入れたディクショナリを渡すことでアドバタイズを開始できるのですが,
[self.peripheralManager startAdvertising:@{
CBAdvertisementDataLocalNameKey: self.localName,
CBAdvertisementDataServiceUUIDsKey: @[self.myUUID]}]
ですので,
その一方で,
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:self.myProximityUUID
major:self.myMajorValue
minor:self.myMinorValue
identifier:@"MyBeaconID"];
NSDictionary *params = [region peripheralDataWithMeasuredPower:nil];
[self.peripheralManager startAdvertising:params];
AndroidでiBeaconの機能を利用する場合
アドバタイジングパケットのフォーマットさえわかればBLEをスキャンし,
Radius Networks社が提供しているものが有名です。
サンプルコードを見れば,