ユーザーにデータが正しく読み取られていることを保証するため、アプリが DataOrigin
クラスの packageName
プロパティからデータを取得する方法を明確に示してください。
方法は 2 つあります。
基本的な帰属表示
少なくとも、ユーザー インターフェース(UI)にアプリのソースアイコンと名前を表示する必要があります(アイコンを表示できない場合はアプリ名のみ)。基本的な帰属表示は、ホーム、アクティビティ ログ、アクティビティ詳細の画面に適しています。
適切なアトリビューションをサポートするため、アプリはデータを最初に記録したアプリの名前とアイコンを表示できます。これにより、ユーザーの信頼性が高まり、健康情報の出所が明確になります。
この情報を取得するために、QUERY_ALL_PACKAGES
などの機密情報にかかわる権限をリクエストする必要はありません。次の例は、PackageManager
から特定のパッケージのアプリラベルとアイコンを取得する方法を示しています。
fun getAppLabelAndIcon(context: Context, packageName: String): Pair<CharSequence?, Drawable?>{
return try {
val pm = context.packageManager
val appInfo = pm.getApplicationInfo(packageName, 0)
val label = pm.getApplicationLabel(appInfo)
val icon = pm.getApplicationIcon(appInfo)
label to icon
} catch (e: PackageManager.NameNotFoundException){
null to null
}
}
このユーティリティは、アプリ名とアイコンをデータとともに表示することで、適切なアトリビューションを確認するのに役立ちます。実装については、HealthConnectManager.kt サンプルをご覧ください。

説明付きの帰属表示
ヘルスコネクトの [アプリの権限] 画面に直接リンクして、ユーザーがデータの出どころに関する情報を簡単に得られるようにする必要があります。この種の帰属表示は、アクティビティの詳細、レポートと分析情報の画面に適しています。


データの同期
アプリとヘルスコネクトとの同期に一定の時間がかかる場合は、同期中にアプリでこの通知を表示します。これにより、処理の完了に時間がかかる可能性があることをユーザーに通知します。同期に通知を使用する場合は、デフォルトで優先度が低く設定されている必要があります。
