はじめに
GoogleFitから体重、心拍、血圧、歩数を取得するアプリケーションをReactNativeで作ってみました。
わりと簡単に作れたのと、AndroidStudioのデバイスで動作確認もできるのを知らず、できたことに少し驚きました。
ソースはGithubに上げてありますので主にGoogleCloudでの手順を解説していきます。
大きな流れはこんな感じ。
- FitAPIを有効化する
- 認証情報の設定
- 同意画面の作成&テストユーザの登録
- アプリケーションの起動
- 動作確認
事前準備
AndroidStdioのインストール&設定
AndroidStudioのエミュレータを使って動作確認できるのでインストールしておきましょう。
Fitアプリはデフォルトで入っていませんので、PlayStore付きのデバイスを使います。私はPixel4を利用しました。
環境変数はANDROID_SDK_ROOTとadbコマンドを動かすためにPATHを設定しておけば大丈夫です。
参考:Android デベロッパー > Android Studio > ユーザーガイド > 環境変数
ソースを取得しておく
git clone https://github.com/uzresk/react-native-google-fit-sample.git
Fit APIを有効化する
認証情報を設定する
認証情報を作成します。
パッケージ名は、AndroidManifest.xmlに記載されているものを記載します。
SHA-1証明書のフィンガープリントは以下のコマンドで取得したものを利用します。
-
debug.keystoreへのパスはソースにあるものを指定してください
keytool -list -v -keystore "debug.keystoreへのパス" -alias androiddebugkey -storepass android -keypass android
同意画面は適当に作っておきましょう。
要求するスコープも定義。今回はサンプルなのでREAD権限を全部追加しておきました。本番利用時は勿論必要最小限にしておきます(そうじゃないと審査も通らないと思います)
続いてテストユーザを追加。上限100まででアクセス可能
アプリを起動する
以下のコマンドを実行すると、androidエミュレータが自動で起動するはずです。
npx react-native run-android
動作確認
Googleの認証を通しているわけではないのでワーニングが出ますが「Continue」します
認可が求められます
ボタンを押すと、Fitアプリからデータが取れることが確認できるはず。