Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

iBeaconsを触ってみた

3,110 views

Published on

Published in: Engineering
  • Be the first to comment

iBeaconsを触ってみた

  1. 1. iBeaconを 触ってみた @atsu666
  2. 2. 自己紹介 • いとう あつし @atsu666 • ここで働いています(appleple) • PHPとか書いてます • iOSアプリは仕事で4つほど作成
  3. 3. アジェンダ • iBeaconとは • iBeaconの予備知識 • 実装&デモ • 実例を紹介
  4. 4. iBeaconとは • Apple社の商標 • iOS の 位置情報サービス を拡張する新しいテクノロ ジー • 位置のモニタリング、距離の測定 • BLE (Bluetooth Low Energy) 技術を使用 • Androidなどの他のデバイスでも利用可能
  5. 5. iBeacon端末 estimote beacons beaconUSB stickNfind iPhoneやmacも Beacon端末になるよ!
  6. 6. iBeacon端末は技摘マークを取得 していない物が多いので注意!
  7. 7. 出来る事 • iBeaconの領域(リージョン)観測【background ok】 • Ranging (距離観測)【background ng】 • Beaconより情報を取得(プッシュ通知)
  8. 8. 対応機種 • BLE4.0 (Bluetooth Low Energy)が使用できる事 • iPhoneは4S以降 • iPadは第三世代以降(iPad2は使えない)
  9. 9. 用語 • 【proximity UUID】proximity Universally Unique Identifer ソフトウェアを 一意に識別する為のID 128bit • 【major】同一 proximity UUIDを持つiBeaconの識別子 16bit符号無整数 • 【minor】同一 UUID, majorを持つiBeaconの識別子 16bit符号無整数 • 【accuracy】電波の精度 • 【rssi】電波の強度 • 【region】 領域、地域など • 【ranging】距離の測定 UUID, major, minor でbeaconを判別
  10. 10. 実装してみる
  11. 11. iOSを beacon端末に • UUID, major, minorを指定可能 • UUIDの自動生成 https://github.com/atsu666/iOS- iBeaconSenderApp
  12. 12. UUIDの生成 $uuidgen 4EC85536-6654-4C18-9A8B-CAB3886D458F ターミナルで実行
  13. 13. たったこれだけでbeacon端末に
  14. 14. iOSで iBeaconを受信 • beaconの情報を表示 • デバッグ用 https://github.com/atsu666/iOS- BeaconReceiverApp
  15. 15. 初期化と監視
  16. 16. デリゲートメソッドを実装
  17. 17. 実機でデモ
  18. 18. ポイント・注意点 • 監視されたbeaconの配列は近い順に格納されている • 判定できる距離は4種類(Unkown, Immediate, Near, Far)rssiやaccuracyで自前で判定は可能だが、精度 がでない • 領域観測のdidEnterRegion:メソッドなどは、すでに 領域内にいる場合反応しない
  19. 19. iOS7.1で使いやすく • iOS7.1以前はアプリをフォアグラウンドorバック グラウンドで動かしている必要があった • アプリが終了していてもOK • 電源をOFFにしてもOK
  20. 20. 実例紹介 と名の宣伝….
  21. 21. basecamp NAGOYA
  22. 22. • ベースキャンプのイベントやアクセス情報などの 表示 • iBeaconによる施設案内 • iBeaconによる自動チェックイン機能 • iBeaconでのタッチ判定によるチェックアウト機 能
  23. 23. なぜリジェクトされたでしょう?
  24. 24. 実際に動かしてみて • 実装は簡単 • 微妙な調整や検証が大変 • まだ、新しい技術で不安定な所がある • シンプルな技術な分、アイデア次第でいろいろ な事が出来そう
  25. 25. ご清聴ありがとう ございました。
  26. 26. 追記 • CoreLocationでバグがあるっぽいです。 • 確かに、うまくいかない場合があるので、もう 少し様子をみた方が良さそう。 • http://stackoverflow.com/questions/22946022/ ibeacon-didrangebeacons-stops-getting-called- must-reset-device-for-it-to-work/ 22949187#22949187

×