כדי להבטיח למשתמשים שהנתונים שלהם נקראים בצורה נכונה, צריך להציג בבירור את האופן שבו האפליקציה מקבלת נתונים, שמגיעים מהמאפיין packageName
של המחלקה DataOrigin
.
יש שתי דרכים לעשות את זה:
שיוך בסיסי
לפחות, בממשק המשתמש צריך להופיע הסמל של מקור האפליקציה ושם האפליקציה (או רק שם האפליקציה אם אי אפשר להציג את הסמל). שיוך בסיסי מתאים למסכים הבאים: דף הבית, יומן הפעילות ופרטי הפעילות.
כדי לתמוך בשיוך נכון, האפליקציה יכולה להציג את השם והסמל של האפליקציה שרשמה את הנתונים במקור. כך משפרים את האמון של המשתמשים ומספקים מידע ברור על המקור של המידע הבריאותי.
כדי לאחזר את המידע הזה, לא צריך לבקש הרשאות רגישות כמו 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.

שיוך (Attribution) עם חינוך
האפליקציה צריכה לעזור למשתמשים לקבל מידע על המקור של הנתונים, עם קישור ישיר למסך 'הרשאות לאפליקציה' ב-Health Connect. סוג השיוך הזה מתאים למסכים הבאים: פרטי הפעילות, דוחות ותובנות.


סנכרון נתונים
אם יש מספיק זמן אחזור כשמסנכרנים את האפליקציה עם Health Connect, צריך להציג את ההתראה הזו באפליקציה במהלך הסנכרון. ההודעה הזו מיידעת את המשתמש שהתהליך עשוי להימשך זמן מה. אם אתם משתמשים בהתראות לסנכרון, כדאי להגדיר אותן כברירת מחדל עם עדיפות נמוכה.
