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