前回
もう少し紐解きたい
HealthConnectのアーキテクチャ
HealthConnect はSDKとHealthConnectAPKがIPC(プロセス間通信)を介してクライアントアプリから接続します。
クライアントアプリにSDKを使うとHealthConnectAPIを利用できるようになります。 まあ普通ですね。
そうすると、クライアントアプリはSDKによってIPCを介してHealth Connect APKと通信ができます。
Health Connect APK
Health Connect API の中身であり、権限管理コンポーネントとデータ管理コンポーネントの両方が含まれています。 ヘルスコネクト APK はユーザーのデバイスで直接利用できるようになるため、ヘルスコネクトはアカウント中心ではなくデバイス中心(!)になるようです。
権限管理
データを通信に対する権限リクエスト。既存の権限も表示される。 まあこれも普通ですね
データ管理
クライアントアプリから書き込まれたデータを管理できます。
個人的にポイント
プロセス間通信とデータの保持がデバイス中心であることの2点がポイントなのかなと思います。
Google Fit はGoogleのクラウドでデータ管理(アカウントベース)していたので、通信の時にインターネットに乗ります。オフラインでも一時的に保持してくれていたかどうかまでは覚えてないです。
HealthConnectでは、プロセス間通信なので、同じプロセス上で情報のやりとりが完了します。速い。
データの保持もデバイス中心なので、Googleアカウントが同じだとしても違うデバイスやHealthConnectを一度アンインストールするとデータはHealthConnectAPK上からは消えます。
データを保持しておきたいならクライアント側でデータ基盤を持たないとダメかもしれません。
参考
https://developer.android.com/guide/health-and-fitness/health-connect/platform-overview/architecture