データの表示と帰属先

ユーザーにデータが正しく読み取られていることを保証するため、アプリが DataOrigin クラスの packageName プロパティからデータを取得する方法を明確に示してください。

方法は 2 つあります。

  1. 基本的なアトリビューション
  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 サンプルをご覧ください。

データの読み取りに関する基本的なアトリビューション
図 1: データの読み取りの基本的なアトリビューション

説明付きの帰属表示

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

パートナー アプリのアクティビティの詳細画面とレポート画面でのアトリビューション パートナー アプリの分析情報画面でのアトリビューション
図 2: 教育機関向けのバリエーションを含むアトリビューション

パートナー アプリのアクティビティの詳細画面とレポート画面でのアトリビューション パートナー アプリの分析情報画面でのアトリビューション

データの同期

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

データ同期ステータスが表示される
図 3: データ同期のステータスが表示されている