niceboxを支える技術 〜androidはibeaconの夢を見るか〜
TRANSCRIPT
どくぴー @e10dokup
を支える技術〜Android は iBeacon の夢をみるか〜
iBeacon
Apple による BLE ビーコンを用いた屋内測位システムの規格
正式な機能としては iOS 7 より搭載
BLE と Android
Scanning(受信)は Android 4.3 で対応
Advertise(発信)には Android 5.0 で対応
この段階では「まだ未完成」
この段階でやっと完成
Scanning したデバイスに接続するのは別の話(ex. konashi)
Android で iBeacon を受信したい
ここまでは Scanning で片付くのでAndroid 4.3 ~ 4.4 搭載機でも可能
Android で iBeacon を発信したい
ここから Advertise を使うので Android 5.0以降 + 対応端末が必要. Nexus5 じゃ無理とかいう話を聞いた
iBeacon の advertise packet
1A # AD Structure の長さ(byte)→26byteFF # AD type4C 00 # Company identifier code (0x004C は Apple を示す)02 # iBeaconとしての固定値(0byte目)15 # iBeaconとしての固定値(1byte目)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX # iBeacon の proximity uuidXX XX # major XX XX # minor XX # Tx Power
iBeacon の advertise packet
1A # AD Structure の長さ(byte)→26byteFF # AD type4C 00 # Company identifier code (0x004C は Apple を示す)02 # iBeaconとしての固定値(0byte目)15 # iBeaconとしての固定値(1byte目)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX # iBeacon の proximity uuidXX XX # major XX XX # minor XX # Tx Power
23byteただし Big Endian
ボタンタップをトリガにして 10 秒間iBeacon を advertise
そいつを ScanService が走っている端末が受信するとポイントが加算
でやってたこと
指向性を持った発信
が出来なかったこと
みんなナイスを拾ってしまう.広がれナイスの輪
その辺の iBeacon を拾っちゃうとナイスが加算される Manfacture ID を変えれば多少はね?
結論
Android は iBeacon の夢を見れる 選ばれし端末のみだけど
EddyStone ってなかった? ウッ頭が 実はこっちはいじれば URL も送れるので
使い勝手が良さそう.Web 連携とか Nicebox 作りなおすときはもしかしたら
EddyStone ワンチャン?