このページでは、Health Connect API の主な機能について説明します。
レコードとデータ同期に対する CRUD 操作
プラットフォームには、記録されたデータに対する標準的な挿入、更新、削除の機能が用意されています。ヘルスコネクトには、クライアント アプリでデータをヘルスコネクトから同期できるようにする機能もあります。この機能によってデータ変更のログが生成され、デベロッパーとユーザーは、特定の種類のデータが他のアプリによって挿入または削除されたかどうかを把握できます。
基本的な集計関数
クライアントは基盤となるデータに集計関数を適用して、次のことを実現できます。
- 平均値、最小値、最大値(アクティビティ セッション中の最小心拍数と最大心拍数など)。
- 合計(1 日ごとの合計歩数など)。
- 基となる測定値の単純な数量(特定の週におけるアクティビティ セッション数など)。
- サポートされている種類のデータについて合計時間を求める(今週深い眠りについた時間数、今日のアクティビティ セッションの合計時間など)
可用性の確認
ヘルスコネクトは Android SDK バージョン 28(Pie)以降に対応しています。この SDK により、クライアント アプリは Health Connect API がユーザーの Android デバイスにあるかどうかを判断できます。ない場合は、ヘルスコネクトが可用性の確認をトリガーし、ユーザーのデバイスが対応しているかどうかを判断します。
権限の確認
ヘルスコネクトでは、アプリごとにユーザーの健康やフィットネスのデータの読み書きを行う権限をユーザーにリクエストする必要があります。また、ユーザーがすでに付与または拒否している権限を確認することもできます。
ヘルスコネクトでの読み取り
フォアグラウンドでの読み取り
通常、アプリがフォアグラウンドにあるときにヘルスコネクトからデータを読み取ることができます。このような場合は、読み取りオペレーション中にユーザーまたはシステムによってアプリがバックグラウンドに移動された場合に備えて、フォアグラウンド サービスを使用してこのオペレーションを実行することを検討してください。
アプリで読み取り値を表示するなど、アプリで中断が発生する可能性がある場合は、ヘルスコネクトからクライアント アプリに直接読み取ってください。
アプリを中断せずに実行したい場合は、フォアグラウンド サービスを使用します。
FOREGROUND_SERVICE_TYPE_HEALTH
: アプリがフォアグラウンドに残り、センサーデータを収集できるようにします。たとえば、ユーザーがアプリをバックグラウンドに移動してもデータを収集し続けるワークアウト アプリなどです。FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
: 汎用タイプのサービス。ユーザーが完了前にアプリをバックグラウンドに移動しても、3 分未満のタスクの重要なデータをアプリが引き続き収集できるようにします。
バックグラウンドでの読み取り
アプリをバックグラウンドで実行し、ヘルスコネクトからデータを読み取るようにリクエストできます。バックグラウンド読み取り権限をリクエストすると、ユーザーはアプリにバックグラウンドでデータを読み取るアクセス権を付与できます。