資料顯示方式和出處

為確保使用者瞭解應用程式會正確讀取資料,請清楚說明應用程式如何取得資料,也就是來自 DataOrigin 類別的 屬性packageName

您可以採用以下兩種方法:

  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:讀取資料的基本歸因

教育歸因

應用程式應提供直接連結導向 Health Connect 中的「應用程式權限」畫面,協助使用者獲取有關資料來源的資訊。這種歸因類型適用於下列畫面: 活動詳細資料、報表和洞察資料。

合作夥伴應用程式的活動詳細資料和報表畫面中的歸因 合作夥伴應用程式洞察畫面中的出處資訊
圖 2:附上教育版變體的出處資訊

合作夥伴應用程式的活動詳細資料和報表畫面中的歸因 合作夥伴應用程式洞察畫面中的出處資訊

資料同步

如果應用程式與「健康資料同步」同步時延遲時間夠長,請在同步期間於應用程式中顯示這則通知。這項訊息會告知使用者程序可能需要一段時間才能完成。如果您使用通知進行同步,系統預設會將通知設為低優先順序。

顯示資料同步狀態
圖 3:顯示資料同步狀態