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.
Copyright Drecom Co., Ltd. All Rights Reserved. 1
位置情報を
常に
取得するの
エンジニアあるある勉強会 LT
2015年11月27日
Copyright Drecom Co., Ltd. All Rights Reserved. 2
自己紹介
• 小川 光典
• 2015年4月入社
• 所属:研究開発部 R&D2G
• 音ゲー古参、最近はもっぱらデレステ
• 好物:豚バラ肉、...
Copyright Drecom Co., Ltd. All Rights Reserved. 3
研究開発部
新規デバイス、OS、FWの調査。
Copyright Drecom Co., Ltd. All Rights Reserved. 4
研究開発部
最近、Android Wear をは
ずしました。
Copyright Drecom Co., Ltd. All Rights Reserved. 5
研究開発部
Q. なぜ、右手の Android
Wear 端末をやめたのか?
Copyright Drecom Co., Ltd. All Rights Reserved. 6
研究開発部
Android Wear が壊れた?
Copyright Drecom Co., Ltd. All Rights Reserved. 7
研究開発部
母艦の Android 端末が壊れ
た?
Copyright Drecom Co., Ltd. All Rights Reserved. 8
研究開発部
「当然2つつけるんだよ
ね?」という上長の圧から
解放された?
Copyright Drecom Co., Ltd. All Rights Reserved. 9
研究開発部
腕時計は1個でいいんじゃな
いか、と気づいた?
Copyright Drecom Co., Ltd. All Rights Reserved. 10
研究開発部
A. 右手首がかぶれたから
Copyright Drecom Co., Ltd. All Rights Reserved. 11
研究開発部
ウェアラブル開発する際は
肌ケアしましょう!
Copyright Drecom Co., Ltd. All Rights Reserved. 12
研究開発部
閑話休題
Copyright Drecom Co., Ltd. All Rights Reserved. 13
研究開発部
最近
・位置情報の常時取得
・取得したらアップロード
の処理において、iOS でのベストプラクティスは何かを
調べ始めました。
今...
Copyright Drecom Co., Ltd. All Rights Reserved. 14
位置情報
iOS の位置情報取得時に指定できる精度の定数
• kCLLocationAccuracyBestForNavigation
• k...
Copyright Drecom Co., Ltd. All Rights Reserved. 15
位置情報
iOS の位置情報取得時に指定できる精度の定数
• kCLLocationAccuracyBestForNavigation
• k...
Copyright Drecom Co., Ltd. All Rights Reserved. 16
位置情報
iOS の位置情報取得時に指定できる精度の定数
• kCLLocationAccuracyBestForNavigation
• k...
Copyright Drecom Co., Ltd. All Rights Reserved. 17
位置情報の取得
端末がホカホカし始める
バックグラウンドでも動かし続けて、位置情報が取得でき
るたびに適当な HTTP 通信を走らせる。(アッ...
Copyright Drecom Co., Ltd. All Rights Reserved. 18
位置情報の取得
調べる
Copyright Drecom Co., Ltd. All Rights Reserved. 19
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 20
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 21
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 22
位置情報の取得
仮説
あまり場所移動してない時はアプリに死んでもらい、
再び移動し始めたタイミングで位置情報の取得を再開。
これなら(少なくと...
Copyright Drecom Co., Ltd. All Rights Reserved. 23
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 24
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 25
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 26
位置情報の取得
startUpdateLocation 続かない
数回取得して死ぬ
• アプリがバックグラウンドへ遷移
• どうやらしばらく同...
Copyright Drecom Co., Ltd. All Rights Reserved. 27
位置情報の取得
調べる
Copyright Drecom Co., Ltd. All Rights Reserved. 28
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 29
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 30
位置情報の取得
ならば
Copyright Drecom Co., Ltd. All Rights Reserved. 31
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 32
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 33
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 34
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 35
位置情報の取得
10回前後のループで処理が止まる
・ジオフェンスから出たら startUpdateLocation
・して更にジオフェンス仕込...
Copyright Drecom Co., Ltd. All Rights Reserved. 36
位置情報の取得
位置情報の誤差やイベント発生のタイミングが遅れたりすると、ジオ
フェンスを仕掛けた位置と実際に今いる位置がずれて、出入イベント...
Copyright Drecom Co., Ltd. All Rights Reserved. 37
位置情報の取得
ならば
Copyright Drecom Co., Ltd. All Rights Reserved. 38
位置情報の取得
黒点を中心に複数のジオフェンスを仕込めば、ある程度の誤差があっ
ても 出入イベントが呼ばれるのではないか?
Copyright Drecom Co., Ltd. All Rights Reserved. 39
位置情報の取得
現在
テスト中
Copyright Drecom Co., Ltd. All Rights Reserved. 40
位置情報の取得
ホカの手段
Copyright Drecom Co., Ltd. All Rights Reserved. 41
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 42
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 43
位置情報の取得
Copyright Drecom Co., Ltd. All Rights Reserved. 44
位置情報の取得
止まっている時のバッテリー消費もわりと高すぎなかった
ので、今はこうなっている。
Copyright Drecom Co., Ltd. All Rights Reserved. 45
まとめ
• 素直にやると端末はすぐホカホカする。
• バックグラウンドから startUpdateLocation を完全復
帰させることはで...
Copyright Drecom Co., Ltd. All Rights Reserved. 46
ご静聴
ありがとうございました
Upcoming SlideShare
Loading in …5
×

位置情報を常に取得するのはつらいよ

2015-11-27 エンジニアあるある勉強会

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

位置情報を常に取得するのはつらいよ

  1. 1. Copyright Drecom Co., Ltd. All Rights Reserved. 1 位置情報を 常に 取得するの エンジニアあるある勉強会 LT 2015年11月27日
  2. 2. Copyright Drecom Co., Ltd. All Rights Reserved. 2 自己紹介 • 小川 光典 • 2015年4月入社 • 所属:研究開発部 R&D2G • 音ゲー古参、最近はもっぱらデレステ • 好物:豚バラ肉、および豚バラ肉を使った料理
  3. 3. Copyright Drecom Co., Ltd. All Rights Reserved. 3 研究開発部 新規デバイス、OS、FWの調査。
  4. 4. Copyright Drecom Co., Ltd. All Rights Reserved. 4 研究開発部 最近、Android Wear をは ずしました。
  5. 5. Copyright Drecom Co., Ltd. All Rights Reserved. 5 研究開発部 Q. なぜ、右手の Android Wear 端末をやめたのか?
  6. 6. Copyright Drecom Co., Ltd. All Rights Reserved. 6 研究開発部 Android Wear が壊れた?
  7. 7. Copyright Drecom Co., Ltd. All Rights Reserved. 7 研究開発部 母艦の Android 端末が壊れ た?
  8. 8. Copyright Drecom Co., Ltd. All Rights Reserved. 8 研究開発部 「当然2つつけるんだよ ね?」という上長の圧から 解放された?
  9. 9. Copyright Drecom Co., Ltd. All Rights Reserved. 9 研究開発部 腕時計は1個でいいんじゃな いか、と気づいた?
  10. 10. Copyright Drecom Co., Ltd. All Rights Reserved. 10 研究開発部 A. 右手首がかぶれたから
  11. 11. Copyright Drecom Co., Ltd. All Rights Reserved. 11 研究開発部 ウェアラブル開発する際は 肌ケアしましょう!
  12. 12. Copyright Drecom Co., Ltd. All Rights Reserved. 12 研究開発部 閑話休題
  13. 13. Copyright Drecom Co., Ltd. All Rights Reserved. 13 研究開発部 最近 ・位置情報の常時取得 ・取得したらアップロード の処理において、iOS でのベストプラクティスは何かを 調べ始めました。 今回はその報告をさせていただきます。
  14. 14. Copyright Drecom Co., Ltd. All Rights Reserved. 14 位置情報 iOS の位置情報取得時に指定できる精度の定数 • kCLLocationAccuracyBestForNavigation • kCLLocationAccuracyBest • kCLLocationAccuracyNearestTenMeters • kCLLocationAccuracyHundredMeters • kCLLocationAccuracyKilometer • kCLLocationAccuracyThreeKilometers 与えられた精度と状況によって、GPS、Wifi、セルラー基 地局のどれを使うか内部的に判断している。
  15. 15. Copyright Drecom Co., Ltd. All Rights Reserved. 15 位置情報 iOS の位置情報取得時に指定できる精度の定数 • kCLLocationAccuracyBestForNavigation • kCLLocationAccuracyBest • kCLLocationAccuracyNearestTenMeters • kCLLocationAccuracyHundredMeters • kCLLocationAccuracyKilometer • kCLLocationAccuracyThreeKilometers この2つは GPS をメインに使うので、裏で動かし続けるの はバッテリー消費的につらいの目に見えてる! (ただし、常に充電されてる状態ならオススメ)
  16. 16. Copyright Drecom Co., Ltd. All Rights Reserved. 16 位置情報 iOS の位置情報取得時に指定できる精度の定数 • kCLLocationAccuracyBestForNavigation • kCLLocationAccuracyBest • kCLLocationAccuracyNearestTenMeters • kCLLocationAccuracyHundredMeters • kCLLocationAccuracyKilometer • kCLLocationAccuracyThreeKilometers こいつを使おう。
  17. 17. Copyright Drecom Co., Ltd. All Rights Reserved. 17 位置情報の取得 端末がホカホカし始める バックグラウンドでも動かし続けて、位置情報が取得でき るたびに適当な HTTP 通信を走らせる。(アップロードの 仮動作)
  18. 18. Copyright Drecom Co., Ltd. All Rights Reserved. 18 位置情報の取得 調べる
  19. 19. Copyright Drecom Co., Ltd. All Rights Reserved. 19 位置情報の取得
  20. 20. Copyright Drecom Co., Ltd. All Rights Reserved. 20 位置情報の取得
  21. 21. Copyright Drecom Co., Ltd. All Rights Reserved. 21 位置情報の取得
  22. 22. Copyright Drecom Co., Ltd. All Rights Reserved. 22 位置情報の取得 仮説 あまり場所移動してない時はアプリに死んでもらい、 再び移動し始めたタイミングで位置情報の取得を再開。 これなら(少なくとも動いてない時は)ホカホカしないの では…?
  23. 23. Copyright Drecom Co., Ltd. All Rights Reserved. 23 位置情報の取得
  24. 24. Copyright Drecom Co., Ltd. All Rights Reserved. 24 位置情報の取得
  25. 25. Copyright Drecom Co., Ltd. All Rights Reserved. 25 位置情報の取得
  26. 26. Copyright Drecom Co., Ltd. All Rights Reserved. 26 位置情報の取得 startUpdateLocation 続かない 数回取得して死ぬ • アプリがバックグラウンドへ遷移 • どうやらしばらく同じ位置にいるようだ • 自分を中心に10m範囲のジオフェンス起動させてstopUpdateLocation • ジオフェンスから出たら startUpdateLocation
  27. 27. Copyright Drecom Co., Ltd. All Rights Reserved. 27 位置情報の取得 調べる
  28. 28. Copyright Drecom Co., Ltd. All Rights Reserved. 28 位置情報の取得
  29. 29. Copyright Drecom Co., Ltd. All Rights Reserved. 29 位置情報の取得
  30. 30. Copyright Drecom Co., Ltd. All Rights Reserved. 30 位置情報の取得 ならば
  31. 31. Copyright Drecom Co., Ltd. All Rights Reserved. 31 位置情報の取得
  32. 32. Copyright Drecom Co., Ltd. All Rights Reserved. 32 位置情報の取得
  33. 33. Copyright Drecom Co., Ltd. All Rights Reserved. 33 位置情報の取得
  34. 34. Copyright Drecom Co., Ltd. All Rights Reserved. 34 位置情報の取得
  35. 35. Copyright Drecom Co., Ltd. All Rights Reserved. 35 位置情報の取得 10回前後のループで処理が止まる ・ジオフェンスから出たら startUpdateLocation ・して更にジオフェンス仕込む ・ジオフェンスから出たら〜〜 ・フォアグラウンドに戻ってくるまでループ
  36. 36. Copyright Drecom Co., Ltd. All Rights Reserved. 36 位置情報の取得 位置情報の誤差やイベント発生のタイミングが遅れたりすると、ジオ フェンスを仕掛けた位置と実際に今いる位置がずれて、出入イベント が発生しなくなる?
  37. 37. Copyright Drecom Co., Ltd. All Rights Reserved. 37 位置情報の取得 ならば
  38. 38. Copyright Drecom Co., Ltd. All Rights Reserved. 38 位置情報の取得 黒点を中心に複数のジオフェンスを仕込めば、ある程度の誤差があっ ても 出入イベントが呼ばれるのではないか?
  39. 39. Copyright Drecom Co., Ltd. All Rights Reserved. 39 位置情報の取得 現在 テスト中
  40. 40. Copyright Drecom Co., Ltd. All Rights Reserved. 40 位置情報の取得 ホカの手段
  41. 41. Copyright Drecom Co., Ltd. All Rights Reserved. 41 位置情報の取得
  42. 42. Copyright Drecom Co., Ltd. All Rights Reserved. 42 位置情報の取得
  43. 43. Copyright Drecom Co., Ltd. All Rights Reserved. 43 位置情報の取得
  44. 44. Copyright Drecom Co., Ltd. All Rights Reserved. 44 位置情報の取得 止まっている時のバッテリー消費もわりと高すぎなかった ので、今はこうなっている。
  45. 45. Copyright Drecom Co., Ltd. All Rights Reserved. 45 まとめ • 素直にやると端末はすぐホカホカする。 • バックグラウンドから startUpdateLocation を完全復 帰させることはできない。 • ジオフェンスが意図した動作にならないケースあるので 注意。 • kCLLocationAccuracyThreeKilometers でも思った以 上に誤差少なく取得できるのでオススメ、実地検証しま しょう。 新しいやり方を思いついたらさっさとコードにして実機で 動かす。 失敗してもめげない。
  46. 46. Copyright Drecom Co., Ltd. All Rights Reserved. 46 ご静聴 ありがとうございました

    Be the first to comment

    Login to see the comments

2015-11-27 エンジニアあるある勉強会

Views

Total views

2,065

On Slideshare

0

From embeds

0

Number of embeds

3

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×