LoginSignup
1
3

More than 1 year has passed since last update.

【Flutter】Health Kitで歩数を取得する(Android&iOS)

Last updated at Posted at 2022-09-11

要件

FlutterのヘルスケアSDKを用いて、iOSまたはAndroidのユーザーの歩数を取得します。

インストール

package:
https://pub.dev/packages/health
pubspec.yaml

health: ^4.1.1

セットアップ

Apple Health (iOS)

  1. info.plistに下記を追加
<key>NSHealthShareUsageDescription</key>
<string>We will sync your data with the Apple Health app to give you better insights</string>
<key>NSHealthUpdateUsageDescription</key>
<string>We will sync your data with the Apple Health app to give you better insights</string>

2.xcodeのtargetsのRunnerよりHealthKitのCapabilityを追加します

Google Fit (Android)

  • AndroidManifest.xml権限の追加
    Android SDK 28 (Android 9.0) 以降は下記の権限追加は必要です。
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>

運動距離が欲しい場合、さらに下記の権限が必要です。

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  • 歩数の場合、上記の権限だけでは足りません。特別に下記のパッケージを追加し、権限リクエストを追加します。
    permission_handler
await Permission.activityRecognition.request();
  • Android Xの場合、android/gradle.propertiesに下記ものを追記します。
org.gradle.jvmargs=-Xmx1536M
android.enableJetifier=true
android.useAndroidX=true
  • Google Cloudのセットアップ

    • APIの有効化
      アプリのGoogle Cloudのプロジェクタを作成した上で、APIを有効化する
    • アプリの証明書情報を確認
      SHA1証明書の作成方法ここでは紹介しないが、確認方法はリンク先のサイトを参照して確認する
      ※ストア証明書の作成方法は下記のコマンドにて作成する
    keytool -genkey -v -keystore release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release -storetype JKS
    

    -keystore release.jksはファイル名 -alias releaseはアリアス名

使い方について

下記ページのExampleを確認してください。
https://pub.dev/packages/health

トラブルシューティング

Androidで上記SHA1証明書はデバックmodeで生成した場合、証明書のPCしか機能しないです。その他の開発者にも使わせたい場合はkeystore証明書を使ってください。

参照

  1. https://developers.google.com/fit/android/get-api-key

  2. https://pub.dev/packages/health

1
3
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
1
3