4
1

More than 1 year has passed since last update.

歩数を取得するならHealthKitと加速度センサーどっちがいいの?

Posted at

先日投稿したGooglefitと加速度センサーに引き続き、今度はiOSでの歩数取得について書きたいと思います。

iOSならHealthkit?それとも加速度センサー?

加速度センサーとは?

(これは前回とほぼ同じ内容です。)
スマートフォンの動きを検知する仕組みのことです。
iPhoneは端末のx,y,z軸それぞれを計測する加速度センサーを内蔵しています。
私がテストしたアプリだと、端末を軽く振るだけで歩数を増やすことができていました。

HealthKitとは?
iPhoneユーザーの方はみたことがあると思いますが、iPhoneに標準装備されている健康管理アプリです。

スクリーンショット 2023-01-25 17.45.34.png

アプリ内には下記のような機能が搭載されています。
・歩数データの取得
・心拍数や睡眠のデータ収集
・フィットネスデータ(ランニングやウォーキング等)の収集と保存

コロナが流行してからは、血中酸素濃度を測れるようになり、話題となっていましたね。

iOSの歩数系アプリの開発でもHealthkitから歩数を取得してくるロジックを実装すれば、
開発アプリ内に歩数を測る機能(加速度センサー)を直接実装しないで歩数を取得できます。

それぞれの利点(私見も含む)

それぞれのメリット、デメリットはおおまかに下記の通りです。

加速度センサー

(前回と同様)
メリット 
・わりとリアルタイムでアプリに歩数が反映できる。
デメリット 
・端末の電池消耗が激しくなる。

Healthkit

メリット
・開発したアプリに新規登録したユーザーの歩数について、Healthkitが記録していた分だけ遡って登録される
・開発アプリ側に歩数取得機能をつける必要がない

デメリット
・歩数反映までのタイムラグが15秒以上発生する(公式ではなく、テスト時の私見です)

今回の開発では、
加速度センサーで実装 → Healthkitに変更 → 一部機能だけ加速度センサーにする という事が発生しました。

歩数によってポイントが入る機能と、1ヶ月分の歩数をHealthkitから取得したい機能があり、前者はリアルタイムで歩数取得する必要があったため、加速度センサーの方が有効だということになりました。

Androidと同じく、開発アプリの目的やお客様が重視する点を踏まえて、よりよい実装方法を選択する必要がありますね。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1