● RangeBeacons 関数を利用したサンプルソリューション
FMGo.jp にて無償公開中の弊社サンプルソリューション「BeaconMaster」で RangeBeacons 関数を利用したカスタムAppを試すことができます。
● RangeBeacons 関数(ヘルプより引用)
目的:iBeacon と iOS デバイスへの近接の一覧を返します。
構文:RangeBeacons ( UUID { ; タイムアウト ; メジャー ; マイナー } )
引数:UUID – 検索対象の iBeacon の Universally Unique Identifier。UUID によって特定の種類としての 1 つ以上の iBeacon または特定の組織からの 1 つ以上の iBeacon が識別されます。
たとえば、デパートのすべての支店の iBeacon で同じ UUID を共有できます。タイムアウト – 値が返されるまでに待機する秒数。タイムアウトが指定されていない場合、5 秒後に値が返されます。
メジャー – iBeacon のグループを識別する値。たとえば、デパートの特定の支店のすべての iBeacon で同じメジャーを共有できます。
マイナー – iBeacon のグループ内の特定の iBeacon を識別する値。たとえば、デパートの特定の支店の玩具セクションのすべての iBeacon で同じマイナーを共有できます。
中カッコ { } 内の引数はオプションです。
RangeBeacons 関数は iPad / iPhone の周辺に存在する iBeacon を Proximity UUID、Major、Minor、を指定して検索することができる関数です。
引数の指定によって特定のグループのすべての iBeacon を探したり、特定のグループの中でさらに小グループのすべての iBeacon を探したり、特定の1つの iBeacon を探したりと使い分けができます。
“検索対象の iBeacon の Proximity UUID を知っておく必要がある” という点に留意が必要です。
※不特定多数の iBeacon を探すための関数ではありません。
● RangeBeacons 関数で利用する iBeacon の設定値
【Proximity UUID】iBeacon の識別子(アプリ単位で同一など) – 128bit
【Major】同じ Proximity UUID の iBeacon グループ内での識別子 – 16bit
【Minor】同じ Proximity UUID と Major グループ内での識別子 – 16bit
● iBeacon への Proximity UUID, Major, Minor の設定方法
iBeacon への設定は iBeacon デバイスのメーカーが提供する設定Appを利用します。
※Aplix、Estimote、それぞれの設定App
[wc_row] [wc_column size=”one-fourth” position=”first”] [/wc_column] [wc_column size=”one-fourth”] [/wc_column] [wc_column size=”one-half” position=”last”][/wc_column] [/wc_row]
● 設定の例(便宜上 Proximity UUID を128bit で表現していません)
パターンA
このパターンでは建物の階ごとに Major の値を変えています。
パターンB
このパターンでは建物の階ごとに Proximity UUID の値を変えています。
RangeBeacons 関数を利用するにあたって好ましいのはパターンAです。
パターンBの場合は 1F と 2F で UUID が異なるため、RangeBeacons 関数で2回の検索を行う必要があります。
同じ場所や同じ目的で設置する iBeacon では、Proximity UUID を同じ値に設定し、Major をカテゴリ分け(建物・階層等)に使い、Minor を識別子(展示品A,B等)に使うのがベストプラクティスと言えるでしょう。
● RangeBeacons 関数の各引数の設定値
UUID:設定Appで設定した値を設定します(省略不可)
タイムアウト:お好みで。省略時は5秒に設定されます。
Major:Major を指定して検索する場合のみ指定します。
Minor:Minor を指定して検索する場合のみ指定します。
タイムアウトを大きく設定すると「iBeacon の検索中…」が表示される時間が長くなります。
極端に小さく設定すると検索の精度が落ち、前に検索した iBeacon の情報が表示されたり、正しい距離が測定されなかったりします。
ユーザーへの表示時間と精度のバランスを見極めて設定しましょう。