Untuk meyakinkan pengguna bahwa data mereka dibaca dengan benar, tunjukkan dengan jelas cara aplikasi Anda mendapatkan data, yang berasal dari
properti packageName
dari class DataOrigin
.
Ada dua cara untuk melakukannya:
Atribusi dasar
Setidaknya, antarmuka pengguna (UI) Anda harus menampilkan ikon sumber dan nama aplikasi (atau hanya nama aplikasi jika ikon tidak dapat ditampilkan). Atribusi dasar cocok untuk layar berikut: Beranda, Log aktivitas, dan Detail aktivitas.
Untuk mendukung atribusi yang tepat, aplikasi Anda dapat menampilkan nama dan ikon aplikasi yang awalnya merekam data. Hal ini meningkatkan kepercayaan pengguna dan memberikan kejelasan tentang asal informasi kesehatan.
Anda tidak perlu meminta izin sensitif apa pun, seperti
QUERY_ALL_PACKAGES
, untuk mengambil informasi ini. Contoh
berikut menunjukkan cara mengambil label dan ikon aplikasi untuk paket tertentu
dari 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
}
}
Utilitas ini membantu memverifikasi atribusi yang tepat dengan menampilkan nama dan ikon aplikasi bersama data. Lihat penerapan di contoh HealthConnectManager.kt.

Atribusi dengan pendidikan
Aplikasi Anda harus membantu pengguna mendapatkan informasi tentang asal data, dengan link langsung ke layar "Izin aplikasi" di Health Connect. Jenis atribusi ini cocok untuk layar berikut: Detail aktivitas, Laporan dan insight.


Sinkronisasi Data
Jika ada latensi yang cukup besar saat menyinkronkan aplikasi Anda dengan Health Connect, tampilkan notifikasi ini di aplikasi Anda selama sinkronisasi. Hal ini memberi tahu pengguna bahwa proses mungkin memerlukan waktu beberapa saat untuk selesai. Jika Anda menggunakan notifikasi untuk menyinkronkan, notifikasi tersebut harus disetel ke prioritas rendah secara default.
