SlideShare a Scribd company logo
1 of 15
Download to read offline
周辺Beaconを取得するWearアプリを追
加してローンチするまで
2016.07.21 potatotips #31
自己紹介
Kaori Ikada @Origami inc.
モバイルアプリエンジニア
基本的にikamon みたいなアカウントで動き回っている
やりたかったこと
ウェアラブルデバイスでのiBeacon の感度がどんなもんか
単純にwear アプリ作ってみたかった
携帯ラボでの検証風景
作ったもの
dongriさんのiBeaconFinder wear版
PlayStoreで配布中
https://play.google.com/store/apps/details?
id=at.dongri.android.ibeaconfinder
ソース: https://github.com/dongri/iBeaconFinder
構成
handheld がなくてもウェアラブル端末だけで動くように
(handheld とmessaging があるわけではない)
開発
Android Studioでwear アプリを追加
File > New > New Module...
Android Wear Module を追加
実装1
altbeacon を入れる
compile 'org.altbeacon:android-beacon-library:2.7'
おまじない
private static final String IBEACON_FORMAT =
"m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24";
beaconManager を作成し、Activityとbind
mBeaconManager =
BeaconManager.getInstanceForApplication(this);
mBeaconManager.getBeaconParsers()
.add(new BeaconParser().setBeaconLayout(IBEACON_FORMAT)
mBeaconManager.bind(this);
実装2
モニタ開始
mBeaconManager.setMonitorNotifier(new MonitorNotifier() {
@Override
public void didEnterRegion(Region region) {
try {
// 近くにbeaconが見つかったのでranging開始
mBeaconManager.startRangingBeaconsInRegion(region);
} catch (RemoteException e) {
e.printStackTrace();
}
}
// 略
});
mRegion = new Region("at.dongri.ibeaconfinder.regionid",
null, null, null);
// モニタ開始
mBeaconManager.startMonitoringBeaconsInRegion(mRegion);
実装3
ranging できたものを受け取る
mBeaconManager.setRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(
Collection<Beacon> collection,
       Region region) {
// 受け取った beacon たちの情報を出力
// major: beacon.getId2().toString()
// minor: beacon.getId3().toString()
// Distance: beacon.getDistance()
// RSSI: beacon.getRssi()
}
});
周辺beaconとれなくてハマる
ほぼ同じコードなのにエラーで動かない
当たり前だけど、本体でBlueTooth/LOCATION関連のパーミッ
ション取得済みでも、アプリケーション単体で動かすなら
wearだけでパーミッションを設定する必要があった
できた
使用端末:Huawei Watch
Android 6.0.1
アプリを公開する準備
:app build.gradle
wearApp project(':wear')
wear プロジェクトを本体アプリと紐付けることで、wearable デバ
イスとのペアリング時にインストールしてくれる
感想
思ったよりwatchの感度よかった
watchにも連打で開発者オプション有効があってアガった
We are hiring!
https://www.wantedly.com/companies/origami/projects

More Related Content

What's hot

【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-natsumo
 
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめVitalify.Inc
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみたshinya sakemoto
 
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったTomoki Hasegawa
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説Fumiya Sakai
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)Fumiya Sakai
 
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!natsumo
 
Osc html5-monaca
Osc html5-monacaOsc html5-monaca
Osc html5-monacaHikaru Ito
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。Daisuke Yamashita
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考えるFumiya Sakai
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 KanazawaKeiji Ariyama
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & CombineFumiya Sakai
 

What's hot (13)

【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
 
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
 
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作った
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
 
Osc html5-monaca
Osc html5-monacaOsc html5-monaca
Osc html5-monaca
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
 

Viewers also liked

チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版Ikada Kaori
 
GitLab CI の布教 for iOS
GitLab CI の布教 for iOSGitLab CI の布教 for iOS
GitLab CI の布教 for iOSIkada Kaori
 
05 CGM21_FOOTWEAR_FINAL
05 CGM21_FOOTWEAR_FINAL05 CGM21_FOOTWEAR_FINAL
05 CGM21_FOOTWEAR_FINALPaula Story
 
Ngay+bay+gio+hoac+khong+bao+gio+ +s.j.scott
Ngay+bay+gio+hoac+khong+bao+gio+ +s.j.scottNgay+bay+gio+hoac+khong+bao+gio+ +s.j.scott
Ngay+bay+gio+hoac+khong+bao+gio+ +s.j.scottanhngoc890
 
What have you learned from your audience feedback
What have you learned from your audience feedbackWhat have you learned from your audience feedback
What have you learned from your audience feedbackcseerussell
 
Intellectual rights ppt
Intellectual rights pptIntellectual rights ppt
Intellectual rights pptSukhleenJaggi
 
Master mx 41ª edicion
Master mx 41ª edicionMaster mx 41ª edicion
Master mx 41ª edicionMaster Mx
 

Viewers also liked (12)

チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版
 
GitLab CI の布教 for iOS
GitLab CI の布教 for iOSGitLab CI の布教 for iOS
GitLab CI の布教 for iOS
 
05 CGM21_FOOTWEAR_FINAL
05 CGM21_FOOTWEAR_FINAL05 CGM21_FOOTWEAR_FINAL
05 CGM21_FOOTWEAR_FINAL
 
Ngay+bay+gio+hoac+khong+bao+gio+ +s.j.scott
Ngay+bay+gio+hoac+khong+bao+gio+ +s.j.scottNgay+bay+gio+hoac+khong+bao+gio+ +s.j.scott
Ngay+bay+gio+hoac+khong+bao+gio+ +s.j.scott
 
TMW Issue 6 CSR
TMW Issue 6 CSRTMW Issue 6 CSR
TMW Issue 6 CSR
 
Test
TestTest
Test
 
Grupo taxonómico copia [35087]
Grupo taxonómico   copia [35087]Grupo taxonómico   copia [35087]
Grupo taxonómico copia [35087]
 
L_Chiarmonte_CV
L_Chiarmonte_CVL_Chiarmonte_CV
L_Chiarmonte_CV
 
What have you learned from your audience feedback
What have you learned from your audience feedbackWhat have you learned from your audience feedback
What have you learned from your audience feedback
 
Intellectual rights ppt
Intellectual rights pptIntellectual rights ppt
Intellectual rights ppt
 
Report
ReportReport
Report
 
Master mx 41ª edicion
Master mx 41ª edicionMaster mx 41ª edicion
Master mx 41ª edicion
 

Similar to 周辺beaconを取得するwearアプリを追加してローンチするまで

AndroidWearアプリ Hands on
AndroidWearアプリ Hands onAndroidWearアプリ Hands on
AndroidWearアプリ Hands onKenz Matsuoka
 
[BaasMeetup] Kii Cloud の進化からみるBaaSの展開
[BaasMeetup] Kii Cloud の進化からみるBaaSの展開[BaasMeetup] Kii Cloud の進化からみるBaaSの展開
[BaasMeetup] Kii Cloud の進化からみるBaaSの展開kiicorp
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜Yusuke SAITO
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」techtalkdwango
 
ニフクラmobilebackend_セミナー_配布用.pdf
ニフクラmobilebackend_セミナー_配布用.pdfニフクラmobilebackend_セミナー_配布用.pdf
ニフクラmobilebackend_セミナー_配布用.pdfssuser347f24
 
Xcode bot
Xcode botXcode bot
Xcode bottoyship
 
アプリ開発
アプリ開発アプリ開発
アプリ開発injus
 
つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料Kenji Nagase
 
Unity+Vuforia でARアプリを作ってみよう
Unity+Vuforia でARアプリを作ってみようUnity+Vuforia でARアプリを作ってみよう
Unity+Vuforia でARアプリを作ってみようhima_zinn
 
【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法TakuyaNakajo
 
amiProFIDO2CloudServiceIntro.pdf
amiProFIDO2CloudServiceIntro.pdfamiProFIDO2CloudServiceIntro.pdf
amiProFIDO2CloudServiceIntro.pdfQingjieDu1
 
Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4Dkmiyako
 
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniYoshifumi Kawai
 
Wear2.0 史上最大のアップデート
Wear2.0 史上最大のアップデートWear2.0 史上最大のアップデート
Wear2.0 史上最大のアップデートKenz Matsuoka
 
Codeigniter3フレームアップデート
Codeigniter3フレームアップデートCodeigniter3フレームアップデート
Codeigniter3フレームアップデートtomohiro kitaura
 
20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法Yasuyuki Kamata
 

Similar to 周辺beaconを取得するwearアプリを追加してローンチするまで (20)

AndroidWearアプリ Hands on
AndroidWearアプリ Hands onAndroidWearアプリ Hands on
AndroidWearアプリ Hands on
 
[BaasMeetup] Kii Cloud の進化からみるBaaSの展開
[BaasMeetup] Kii Cloud の進化からみるBaaSの展開[BaasMeetup] Kii Cloud の進化からみるBaaSの展開
[BaasMeetup] Kii Cloud の進化からみるBaaSの展開
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
ニフクラmobilebackend_セミナー_配布用.pdf
ニフクラmobilebackend_セミナー_配布用.pdfニフクラmobilebackend_セミナー_配布用.pdf
ニフクラmobilebackend_セミナー_配布用.pdf
 
Xcode bot
Xcode botXcode bot
Xcode bot
 
アプリ開発
アプリ開発アプリ開発
アプリ開発
 
つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料
 
Unity+Vuforia でARアプリを作ってみよう
Unity+Vuforia でARアプリを作ってみようUnity+Vuforia でARアプリを作ってみよう
Unity+Vuforia でARアプリを作ってみよう
 
【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法
 
Android Wear Apps
Android Wear AppsAndroid Wear Apps
Android Wear Apps
 
Android0422
Android0422Android0422
Android0422
 
amiProFIDO2CloudServiceIntro.pdf
amiProFIDO2CloudServiceIntro.pdfamiProFIDO2CloudServiceIntro.pdf
amiProFIDO2CloudServiceIntro.pdf
 
Panovatty2
Panovatty2Panovatty2
Panovatty2
 
Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4D
 
Kii cloud 勉強会 #2
Kii cloud 勉強会 #2Kii cloud 勉強会 #2
Kii cloud 勉強会 #2
 
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
 
Wear2.0 史上最大のアップデート
Wear2.0 史上最大のアップデートWear2.0 史上最大のアップデート
Wear2.0 史上最大のアップデート
 
Codeigniter3フレームアップデート
Codeigniter3フレームアップデートCodeigniter3フレームアップデート
Codeigniter3フレームアップデート
 
20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法
 

周辺beaconを取得するwearアプリを追加してローンチするまで