ibeacon を利用したサービス開発のポイント

109
iBeacon ををををを ををををををををををを GMO ををををををを をををををををををを をを ををを ををを ををを をを 、、、、

Upload: daisuke-a-matsui

Post on 27-May-2015

6.841 views

Category:

Technology


0 download

DESCRIPTION

iBeacon を利用したサービス開発のポイント

TRANSCRIPT

Page 1: iBeacon を利用したサービス開発のポイント

iBeacon を利用したサービス開発のポイント

GMO インターネット次世代システム研究室

松井、佐藤、折田、塚元、宮尾

Page 2: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 3: iBeacon を利用したサービス開発のポイント

1. iBeacon とは• Apple の商標• Location and Proximity Detection Technology

「位置と近接検出技術」

Page 4: iBeacon を利用したサービス開発のポイント

1. iBeacon とはBluetooth Low Ene r gy ( BLE )を利用してシグナルを発信する機器

Page 5: iBeacon を利用したサービス開発のポイント

BLE とは• 近距離無線通信技術 Bluetoothの拡張仕様• 極低電力で通信が可能なもの• 2010 年 7 月に発表された Bluetooth 4.0 規格• 免許なく使える 2.4GHz帯(ISM バンド ) の電波を

用い、最大 1Mbpsの通信が可能。• 対応チップは従来の 1/3 程度の電力で動作する

ことができ• ボタン電池一つで数年稼働することができると

されている。

Page 6: iBeacon を利用したサービス開発のポイント

1. iBeacon とはシグナルはスマホで受信可能( Android 、

iOS )

Page 7: iBeacon を利用したサービス開発のポイント

1. iBeacon とはシグナルが 50m 先まで届く。スマホで距離を観測できる。

Page 8: iBeacon を利用したサービス開発のポイント

結論

• BLE 利用。• 広範囲に電波が届く。• スマホで受信可能。

Page 9: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 10: iBeacon を利用したサービス開発のポイント

2.基本機能A .構成・ブロードキャスター・オブザーバー型・セントラル・ペリフェラル型

B .機能・ Beacon から送られてくる信号・スマホができること

Page 11: iBeacon を利用したサービス開発のポイント

2.基本機能オブザーバー(スマホ)ブロードキャスター

( Beacon 端末)発信のみ

受信のみ

Page 12: iBeacon を利用したサービス開発のポイント

2.基本機能

ペリフェラル セントラル読み書き(今回は対象外)

Page 13: iBeacon を利用したサービス開発のポイント

2.基本機能

1. UUID2. Major3. Minor4. RSSI

Beacon から送られる信号

Page 14: iBeacon を利用したサービス開発のポイント

Beacon から送られる信号UUID 128 ビット識別子 12345678-A1B3-B2C4-C3D5-EF567GH942E2

Major 16 ビットの符号なし整数。 0 ~ 65535

Minor 16 ビットの符号なし整数。 0 ~ 65535

Page 15: iBeacon を利用したサービス開発のポイント

使い道UUID 128 ビット識別子 サービスで 1 個

Major 16 ビットの符号なし整数。 ショップなどの単位で 1 個

Minor 16 ビットの符号なし整数。 売り場、ビルの階層、支店などの小概念で

1 個

Page 16: iBeacon を利用したサービス開発のポイント

RSSI

• Received Signal Strength Indicator• 受信信号強度• マイナスの値• 小さいほど近い状態を表す

Page 17: iBeacon を利用したサービス開発のポイント

Beacon を受信する機器ができること(スマホ)

1.リージョン観測

2.レンジング観測

Page 18: iBeacon を利用したサービス開発のポイント

リージョン観測

•入った•出た

Page 19: iBeacon を利用したサービス開発のポイント

リージョン観測

入った!!!

出た!!!

Page 20: iBeacon を利用したサービス開発のポイント

レンジング観測RSSI 電波強度からおおよその距離を図る(調整可能)

Immediate  (すごく近い) 50cm以内Near   (誓い) 50cm~6mFar   (遠い) 6m~20mUnknown (不明) ???

Page 21: iBeacon を利用したサービス開発のポイント

レンジング観測

近 遠

Page 22: iBeacon を利用したサービス開発のポイント

結論• ブロードキャスターオブザーバー構成で サービス開発。• UUID 、 Major 、 Minor でビーコンを認識

できる。• 領域出入 + 距離 を利用できる。

Page 23: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 24: iBeacon を利用したサービス開発のポイント

3.利用可能端末

A . iBeacon 端末B . iOS , Android

Page 25: iBeacon を利用したサービス開発のポイント

iBeacon 端末• StickNFind 社

Page 26: iBeacon を利用したサービス開発のポイント

iBeacon 端末• Aplix 社 M y Beacon

Page 27: iBeacon を利用したサービス開発のポイント

iBeacon 端末• Estimote 社

Page 28: iBeacon を利用したサービス開発のポイント

iBeacon 端末• shopbeacon

Page 29: iBeacon を利用したサービス開発のポイント

Estimote StickNFind Aplix shopbeacon

価格 3500 円 3500 円 1000 円 4000 円技適 ○ ○ ○ ×

電池 2 年 1 年 1 年 5 年その他 デザイ

ンがおしゃれ

サイズが小さい。探し物アプリを販売。

安い。セキュリティ機能が強い。

米国の百貨店 Macy’s 実績アリ

Page 30: iBeacon を利用したサービス開発のポイント

技適マーク(ぎてきまーく)とは

⇒ 技適マークが付いていない無線機は、「免許を受けられない/違法になる」恐れがありますので無線機を購入・使用する際は十分ご注意下さい。

技術基準適合証明と技術基準適合認定のいずれかあるいは両者の認証がなされていることを表示するマークで、総務省令に定められたものである。

Page 31: iBeacon を利用したサービス開発のポイント

3.利用可能端末スマホ

[iOS]Ver.7 以降• iPhone 4s ~• iPad 第 3 世代~( mini,Air は可能)

[Android]Ver.4.3 以降

Page 32: iBeacon を利用したサービス開発のポイント

Bluetooth の大分類• Bluetooth Smart : BLE のみ• Bluetooth Smart Ready : BLE+クラシック• Bluetooth :クラシックのみ

Page 33: iBeacon を利用したサービス開発のポイント

Beacon の誤解• 対応端末でも Bluetooth OFF では使えない。 iPhone では

位置情報も必要

Page 34: iBeacon を利用したサービス開発のポイント

結論

•現状は Aplix 社のビーコンがよい。• iOS 7 , Android 4.3

Page 35: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 36: iBeacon を利用したサービス開発のポイント

NFC とは?• 近距離無線通信技術

• 「かざす」ことで通信可能

• 低速なデータ通信

Page 37: iBeacon を利用したサービス開発のポイント

NFC と iBeacon の比較NFC iBeacon

最大距離 20cm 50m

検知 タッチ(能動的)

Bluetooth ON でPUSH 受信(受動的)

対応 iOS 8Android 2.3

iOS 7Android 4.3

価格 100 円 1000 円~電池 不要 1 年~通信 424kbps 1024kbps

同時接続 1 対 1 N 対 N

Page 38: iBeacon を利用したサービス開発のポイント

結論

•NFC は能動的• iBeacon は受動的•要件に応じて利用する

Page 39: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 40: iBeacon を利用したサービス開発のポイント

5.サービス事例

[ アメリカ ]    ・ Masy’s    ・ MLB

[日本 ]    ・スマポ    ・スマート座布団

Page 41: iBeacon を利用したサービス開発のポイント

Macy’s (アメリカのデパート)

来店客のアプリへ商品情報、クーポンを通知

Page 42: iBeacon を利用したサービス開発のポイント

MLB x iBeacon        

20 のスタジアム(全体の 3分の 2 )

各スタジアム100 個のビーコン設

Page 43: iBeacon を利用したサービス開発のポイント

MLB x iBeacon

座席案内

Page 44: iBeacon を利用したサービス開発のポイント

MLB x iBeacon

利用回数カウント

ホットドッグのクーポン配布

Page 45: iBeacon を利用したサービス開発のポイント

スマポ x iBeacon

来店するとポイントが貯められるサービス

来店時に通知を発火させる仕組みで iBeacon を利用(近づくと通知される)※ポイント付与は音波

Page 46: iBeacon を利用したサービス開発のポイント

スマート座布団座布団の下にデバイス設置。

座った重みでビーコンが発火。

Page 47: iBeacon を利用したサービス開発のポイント

スマート座布団空席情報を管理。

カフェの混雑状況をログ取得しデータ解析可能。

Page 48: iBeacon を利用したサービス開発のポイント

結論

•情報発信、クーポン配布をPUSH できるアプリの事例が多い。

Page 49: iBeacon を利用したサービス開発のポイント

検証アプリを開発しました

Page 50: iBeacon を利用したサービス開発のポイント

出社アプリ

セルリアンタワー 12F にビーコンを設置

座席に近づくとビーコン信号をスマホがキャッチ

⇒ アプリで出社できる!

Page 51: iBeacon を利用したサービス開発のポイント

サーバ構成12F ビーコン    スマホ     

Web サーバ

⇒ TimePro を叩いて出社!

Page 52: iBeacon を利用したサービス開発のポイント

出社アプリ

Page 53: iBeacon を利用したサービス開発のポイント

デモ

Page 54: iBeacon を利用したサービス開発のポイント

リージョン観測

入った!!!

Page 55: iBeacon を利用したサービス開発のポイント

レンジング観測

近 遠

「近い」で出社可能になる

Page 56: iBeacon を利用したサービス開発のポイント

デモのまとめ

バックグラウンドリージョン観測 ⇒ 範囲内ビーコン検知 ⇒ ローカル通知発火

レンジング観測  ⇒ 距離観測( Far Near⇒ )

Page 57: iBeacon を利用したサービス開発のポイント

無事動くものができた!

Page 58: iBeacon を利用したサービス開発のポイント

サービス開発のキモ• アプリが起動していない状態でもビーコ

ンは検知されるか?• Bluetooth でバッテリーは食わないか?• 不正は行われないか?

Page 59: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 60: iBeacon を利用したサービス開発のポイント

iOS, Android アプリ実装の違い

A.iOS向けアプリ実装B.Android向けアプリ実装C.iOS 、 Android の比較

Page 61: iBeacon を利用したサービス開発のポイント

iOS 実装の流れ

1. UUID定義2.リージョン観測3.レンジング観測4.バックグラウンドタ

スク

Page 62: iBeacon を利用したサービス開発のポイント

UUID定義// 観測対象の UUID と識別子を定義して、// CLBeaconRegion を作成するlet uuidString = “00000000-1234-A123-B456-E123C456D789”let beaconIdentifier = “gmo-beacon”let beaconUUID:NSUUID = NSUUID(UUIDString: uuidString)

let beaconRegion:CLBeaconRegion = CLBeaconRegion(proximityUUID: beaconUUID, identifier:

beaconIdentifier )

Page 63: iBeacon を利用したサービス開発のポイント

リージョン観測

入った!!!

Page 64: iBeacon を利用したサービス開発のポイント

リージョン観測//UUID を指定して観測スタートlocationManager = CLLocationManager()locationManager!.delegate = selflocationManager!.startMonitoringForRegion(beaconRegion)

Page 65: iBeacon を利用したサービス開発のポイント

LocationManager デリゲートメソッド

開始 didStartMonitoringForRegion入った! didEnterRegion出た! didExitRegion失敗! monitoringDidFailForRegion:withError

Page 66: iBeacon を利用したサービス開発のポイント

didEnterRegion

func locationManager( manager: CLLocationManager!, didEnterRegion region: CLRegion!) {

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {

// 境界に入ったので、レンジング観測を開始 manager.startRangingBeaconsInRegion(region as CLBeaconRegion) }) }

Page 67: iBeacon を利用したサービス開発のポイント

レンジング監視

近 遠

Page 68: iBeacon を利用したサービス開発のポイント

レンジングデリゲートメソッド今の状態 didRangeBeacons:inRegionエラー rangingBeaconsDidFailForRegion:withError:

Page 69: iBeacon を利用したサービス開発のポイント

didRangeBeaconsfunc locationManager( manager: CLLocationManager!, didRangeBeacons beacons: [CLBeacon]!, inRegion region: CLBeaconRegion!) { for beacon in beacons { // 指定範囲に入っていなければスキップ If (inRangeProximity.filter {$0 == beacon.proximity}).count == 0 { continue } // 同じ major,minor の最後の測定状態を取得 var arr: [CLBeacon] = [] for lb in lastBeacons { if lb.major == beacon.major { if lb.minor == beacon.minor{ arr.insert(lb, atIndex: arr.count) } } } let lastBeacon = arr }}

Page 70: iBeacon を利用したサービス開発のポイント

値 内容proximityUUID UUID

major major

minor minor

proximity ビーコンとの距離

accuracy 近接値の精度rssi 受信強度

値がすぐ取れる。 Android と異なる点

Page 71: iBeacon を利用したサービス開発のポイント

didEnterRegion時バックグラウンドタスク

// バックグラウンドだと 10 秒程度しか起動できないので、// バックグラウンドタスクを作成すると 180 秒程度、起動可能になる。

let app = UIApplication.sharedApplication()var bgTaskId: UIBackgroundTaskIdentifier? bgTaskId = app.beginBackgroundTaskWithExpirationHandler({ dispatch_async(dispatch_get_main_queue(), { if bgTaskId != UIBackgroundTaskInvalid { app.endBackgroundTask(bgTaskId!) bgTaskId = UIBackgroundTaskInvalid } }) })

Page 72: iBeacon を利用したサービス開発のポイント

iOS のポイント1. CoreLocation を使う。 ※CoreBluetooth は明示的に使わなくてよい。

2. UUID を指定する。 UUID は MAX20 件。 1UUID につき、 65535*65535 通りの ID を持てる。

3.バックグラウンドでリージョン観測。⇒これによりアプリ未起動でも挙動。 サービスの課題をクリア

Page 73: iBeacon を利用したサービス開発のポイント

Android アプリ実装

• リージョン観測とタイムアウト• スキャンした情報の加工

Page 74: iBeacon を利用したサービス開発のポイント

Android向けアプリ実装まずはパーミッション

<uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

BLE 対応端末のみインストールさせる <uses-feature android:name=“android.hardware.bruetooth_le” android:required="true"/>

Page 75: iBeacon を利用したサービス開発のポイント

Bluetooth マネージャの初期化BluetoothManager mBluetoothManager =(BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE);

mBluetoothAdapter = mBluetoothManager.getAdapter();

Page 76: iBeacon を利用したサービス開発のポイント

リージョン観測とタイムアウト( iOS との違い)

//Blutooth ON 時、バックグラウンドで常に動かすprivate void connect() { mHandler.postDelayed(new Runnable() { @Override public void run() { mBluetoothAdapter.stopLeScan(BleActivity.this); }}, 5000); // タイムアウトを設定 // スキャン開始 mBluetoothAdapter.startLeScan(this);}

Page 77: iBeacon を利用したサービス開発のポイント

リージョン観測後の情報の取得private BluetoothAdapter.LeScanCallback

mLeScanCallback = new BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, int rssi,byte[] scanRecord) { //UUID,major,miner,RSSI の判定処理 } }

Page 78: iBeacon を利用したサービス開発のポイント

UUID 、 Major 、 Minorif(scanRecord.length > 30){ //iBeacon の場合 6 byte 目から、 9 byte 目はこの値に固定されている。 if((scanRecord[5] == (byte)0x4c) && (scanRecord[6] == (byte)0x00) && (scanRecord[7] == (byte)0x02) && (scanRecord[8] == (byte)0x15)) { String uuid = IntToHex2(scanRecord[9] & 0xff) + IntToHex2(scanRecord[10] & 0xff) + IntToHex2(scanRecord[11] & 0xff) + IntToHex2(scanRecord[12] & 0xff) + "-" + IntToHex2(scanRecord[13] & 0xff) + IntToHex2(scanRecord[14] & 0xff) + "-” + IntToHex2(scanRecord[15] & 0xff) + IntToHex2(scanRecord[16] & 0xff) + "-” + IntToHex2(scanRecord[17] & 0xff) + IntToHex2(scanRecord[18] & 0xff) + "-” + IntToHex2(scanRecord[19] & 0xff) + IntToHex2(scanRecord[20] & 0xff) + IntToHex2(scanRecord[21] & 0xff) + IntToHex2(scanRecord[22] & 0xff) + IntToHex2(scanRecord[23] & 0xff) + IntToHex2(scanRecord[24] & 0xff); String major = IntToHex2(scanRecord[25] & 0xff) + IntToHex2(scanRecord[26] & 0xff); String minor = IntToHex2(scanRecord[27] & 0xff) + IntToHex2(scanRecord[28] & 0xff); } }

Page 79: iBeacon を利用したサービス開発のポイント

scanRecord Byte 数 説明

1 1 ブロック目のバイト数2,3 flag4 2 ブロック目のバイト数5 メーカー固有の AD type データ

6,7 会社コード (0x004C が Apple の会社コード )

8 データのタイプ (0×02 が iBeacon)

9 連なる iBeacon データのバイト数10~25 UUID26,27 major28,29 minor

30 校正された電波強度 ( 距離を求めるときの基準値、 2 の補数 )

Page 80: iBeacon を利用したサービス開発のポイント

Android のポイント• 自分で書かないといけない部分が多い。

1.リージョン監視のタイムアウト制御 2. scanRecord の中身解析 (とくにレンジングは自分で RSSI で 距離のあたりをつける)

めんどくささ or 柔軟性?

Page 81: iBeacon を利用したサービス開発のポイント

アビダルマ• Aplix 社推奨のライブラリ。• 2次的著作物に無料で利用可能。• iOS に近い処理をラッパーして実現。

Page 82: iBeacon を利用したサービス開発のポイント

アビダルマの利点 その1

省電力実装

アプリ画面がフォアグラウンドにない、 またはディスプレイが 消灯している。 ⇒15秒周期で 5秒間ずつリージョン観測実行。

対象 UUID の絞込み ⇒不要な通信を発生させない。

デフォルトでは 0.1秒ごとにスキャンを実行し続けるので非常に電池を食いやすい。

Page 83: iBeacon を利用したサービス開発のポイント

アビダルマの利点 その2

デバイス不具合対応• AQUOS Xx 304SH 、 Nexus4 、 Nexus7 不具合

⇒内部的にカバーしている。• GALAXY S5 にて通知される受信 RSSI が他

機種と比較して低い。

Page 84: iBeacon を利用したサービス開発のポイント

他のライブラリ

Android Beacon Libraryhttps://github.com/AltBeacon/android-beacon-library

Page 85: iBeacon を利用したサービス開発のポイント

iOS Android

利用者 ver.7 以上90%強

ver.4.3 以上20%弱

OS設定・パーミッション

Bluetooth位置情報バックグラウンド

Bluetooth

観測対象 UUID指定必須 UUID指定自由リージョン観測

頻度 OS依存UUID指定必須

頻度実装可能UUID指定自由

レンジング観測

バックグラウンドタスクMax180秒

実装者に依存

Page 86: iBeacon を利用したサービス開発のポイント

サービス開発のキモ• アプリが起動していない状態でも ビーコンは検知されるか?⇒なんとかバックグラウンドでやれそう

• Bluetooth でバッテリーは食わないか?• 不正は防げるか?

Page 87: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 88: iBeacon を利用したサービス開発のポイント

消費電力

iBeacon 端末本体

⇒ これはそもそも低電力になっているので問題ない

Page 89: iBeacon を利用したサービス開発のポイント

消費電力

・ AisleLabs による調査・ Android, iOS の BLE 消費電力比較実験

http://www.aislelabs.com/reports/ibeacon-battery-phones/http://www.aislelabs.com/reports/ibeacon-battery-drain-iphones/

Page 90: iBeacon を利用したサービス開発のポイント

バッテリーに与える影響

・周囲のビーコン個数・スキャン回数(リージョン観測回数)

Page 91: iBeacon を利用したサービス開発のポイント

周囲のビーコン個数・0個・7個・10個

個数が多いほどスマホ電池消費が増える。

Page 92: iBeacon を利用したサービス開発のポイント

スキャンのインターバル・ 0.1秒スキャン +0.1秒休む・ 1秒スキャン +1秒休む・ 2秒スキャン +2秒休む

頻度が狭いとスマホバッテリーを消費する。

Page 93: iBeacon を利用したサービス開発のポイント

スキャンのインターバル・1秒スキャン+9秒休む ・5秒スキャン+5秒休む

スキャン時間が長いとバッテリーを消費する。

Page 94: iBeacon を利用したサービス開発のポイント

バッテリーに与える影響• ビーコン個数 : 少ないほうがいい• スキャン回数 : 少ないほうがいい

ある意味当たり前の結果!

Page 95: iBeacon を利用したサービス開発のポイント

Android側の実装の現実解

アビダルマの実装

⇒5秒スキャン + 15秒インターバル

※デフォルト 1秒 10 回スキャンよりはこちらのほうがよい

Page 96: iBeacon を利用したサービス開発のポイント

いままで Android 実装のめんどくささが目立っていたが。。。

Page 97: iBeacon を利用したサービス開発のポイント
Page 98: iBeacon を利用したサービス開発のポイント

iOS7 はなぜ Android に劣るのか?

iOS側が自動的にリージョン監視

⇒Android側は頻度を実装できるので、消費電力を意識して頻度を抑えることがで

きる。

iOS7.1 以降は改善された?!?

ビーコン端末の性能に左右?!?

Page 99: iBeacon を利用したサービス開発のポイント

iOS Android

利用者 ver.7 以上90%強

ver.4.3 以上20%弱

OS設定・パーミッション

Bluetooth位置情報バックグラウンド

Bluetooth

観測対象 UUID指定必須 UUID指定自由リージョン観測

頻度 OS依存UUID指定必須

頻度実装可能UUID指定自由

レンジング観測

バックグラウンドタスクMax180秒

実装者に依存

消費電力 良 新デバイス:優

Page 100: iBeacon を利用したサービス開発のポイント

サービス開発のキモ• アプリが起動していない状態でも ビーコンは検知されるか?⇒なんとかバックグラウンドでやれそう

• Bluetooth でバッテリーは食わないか?⇒実装上の工夫( +新機種)で大丈夫• 不正は防げるか?

Page 101: iBeacon を利用したサービス開発のポイント

アジェンダ[iBeacon のキホン ]1. iBeacon とは2.基本機能3.利用可能端末4. NFC との比較5.サービス事例

[ 技術的なポイント ]1. iOS, Android アプリ実装の違い2.消費電力3.セキュリティ

Page 102: iBeacon を利用したサービス開発のポイント

セキュリティ• 偽ビーコンを作成できる問題本物であることを検証し保証する仕組みが必要

Page 103: iBeacon を利用したサービス開発のポイント

偽ビーコンの例

UUID 、 Major 、 Minor がバレてしまうと自宅の Mac から出社可能( Mac でビーコン発信可能)

Page 104: iBeacon を利用したサービス開発のポイント

偽ビーコンの例店舗に行かなくてもポイントが自在に取得できる 店舗

Page 105: iBeacon を利用したサービス開発のポイント

「本物のビーコンとの通信ですよ」を保証する仕組みが必要!!!

Page 106: iBeacon を利用したサービス開発のポイント

セキュリティ GPS を利用して

Aplix 社サーバ

Page 107: iBeacon を利用したサービス開発のポイント

セキュリティ 乱数を利用

ビーコンを 2 個仕込むためデバイスの電池の消費が少し早い。Aplix 社の認証サーバを利用するコストが発生する。

Aplix 社サーバ

Page 108: iBeacon を利用したサービス開発のポイント

まとめ• アプリが起動していない状態でも ビーコンは検知されるか?⇒なんとかバックグラウンドでやれそう• Bluetooth でバッテリーは食わないか?⇒実装上の工夫( +新機種)で大丈夫• 不正は防げるか?⇒Aplix 社の認証機構を利用する( or 自力で実装)

Page 109: iBeacon を利用したサービス開発のポイント

ご清聴ありがとうございました。