ヘルスコネクトはシンプルなコードで、アプリとの連携を可能にします。
アプリ利用者端末の Android OS と SDK のバージョンを確認した後、データへのアクセスとヘルスコネクトとの連携の許可をアプリ利用者から取得し、必要なデータを読み書きするまでのサンプルコードを公開しています。
具体的な実装方法やコードはこちらのページを参照してください。
3. 期間を限定して、さまざまなデバイスからデータを取得する際の注意点
「ユビー」は自分の症状について質問に答えると、関連する病名や近隣医療機関の情報を提供するアプリです。
利用者が許可することで、ユビーはヘルスコネクトを通して利用者の血糖値データを取得できます。取得した情報をもとに、ユビーは血糖値に関連した疾患に対し、より充実した情報を提供できるようになります。
症状を検索する際、直近の血糖値データのみが重要なケースであるため、ユビーでは期間を指定してデータを取得するタイムレンジフィルター(TimeRangeFilter)機能を使い、直近 4 時間以内のデータを取得しています。
このケースのように、長期的なデータではなく、特定期間のデータのみが必要な場合はタイムレンジフィルターで取得範囲を調整しましょう。
ヘルスコネクトへデータが書き込まれるタイミングを正確に把握する必要があるケースでは、それぞれの実デバイスによる動作検証を推奨します。
ヘルスコネクトではレコード単位のデータ構造を標準化している一方で、データを書き込む周期やタイミングは各アプリ・デバイス側で自由に設定できます。ユビーではヘルスコネクトとの連携機能を実装する際に、医療機器メーカーから血糖値などのデータを計測するデバイスを借り、実デバイスから書き込まれたデータによる接続試験を実施しました。
タイムレンジフィルターを設定する際、当初は直近 1 時間以内のデータに指定していました。しかし、実デバイスの中には計測したタイミングから 3 時間後にヘルスコネクトにデータが反映されることが判明し、取得範囲を直近 4 時間以内に変更しました。
通常のデバイスではリアルタイムに近い形で、ヘルスコネクトにデータが反映されます。一部の医療機器の中には、さまざまな背景からデータを反映する時間をあえてリアルタイムにしていないケースがありますが、取得タイミングを明確に把握する必要がある際は、実デバイスによる検証やメタデータの読込を行うことを推奨します。
4. テストデータの検証にヘルスコネクト ツールボックスを活用する
ユビーでは実デバイスから取得したデータを参考にしつつ、並行してヘルスコネクト ツールボックスによるテストデータでの検証も実施しています。
ヘルスコネクト ツールボックスはアプリとヘルスコネクトとの連携を試験できる検証用アプリです。ヘルスコネクト対応するすべてのデータ型をサポートし、それぞれの読み取りと書き込みをサポートしています。上記でも紹介したとおり、データがヘルスコネクトに書き込まれるタイミングはアプリやデバイス毎に異なる場合があります。テストデータを用意する際には、事前に書き込み側のアプリやデバイスがいつ、どのようにデータをヘルスコネクトに反映するのかを確認しましょう。
5. Fit Android API からの移行
すでにお知らせしたとおり、Google Fit Android API のサポートは 2024 年の年末で終了する予定です。Google では、ヘルスコネクトへの移行を推奨しています。
ヘルスコネクトは Google Fit のほぼすべてのデータタイプの読み書きに対応しており、API も Google Fit の Android API の構成を意識したものになっています。
移行手順については、移行ガイドを参照してください。
6. 複数 APK サポートの導入
ヘルスコネクトは Android SDK バージョン 26 以降に対応しています。通常であればアプリが対応する SDK のバージョンをアップデートする必要がありますが、SDK バージョンが 25 以前のユーザーが一定数存在する場合、容易にアップデートを促せない場合があります。
ヘルスコネクト連携機能を導入した「あすけん」でも、一定割合のアプリ利用者が SDK バージョン 23 から 25 を利用していました。そこで同社は Google Play ストアでサポートしている複数 APK サポート( Multiple APK )を導入しました。
複数 APK サポートとは、1 つのアプリでデバイス構成ごとに別々の APK を公開するための Google Play の機能です。単一の APK ではアプリが対象とするデバイスをすべてカバーしきれない場合に有効な機能です。
あすけんでは複数 APK サポートを導入するにあたって、メンテナンス性を担保する目的から、外部のデバイスやアプリとの連携系の処理を 1 つの独立したモジュールに統合しました。SDK のバージョン毎にコードを書き分ける際も、ヘルスコネクトに関連する機能を独立したモジュールに留めることで、開発の効率性を担保できました。
複数のバージョンごとにソースコードを管理する必要があるため、一般的にはヘルスコネクトに対応している SDK バージョンにアプリをアップデートすることが推奨されます。しかし、ビジネス上の要件から古いバージョンのサポートを継続したい場合には、複数 APK サポートを活用しましょう。