איך יודעים אילו תכונות זמינות

כשמוסיפים תכונות חדשות ל-Health Connect, המשתמשים לא תמיד מעדכנים את הגרסה של Health Connect. ‫Feature Availability API מאפשר לבדוק אם תכונה מסוימת ב-Health Connect זמינה במכשיר של המשתמש, ולקבוע איזו פעולה לבצע.

שנתחיל?

‫Feature Availability API משתף את אותה תלות כמו Health Connect SDK. כדי להתחיל, מוודאים שבקובץ build.gradle מותקנת לפחות גרסה 1.1.0-alpha08:

dependencies {
  implementation("androidx.health.connect:connect-client:1.2.0-alpha06")
}

מתגי feature flag

בטבלה הבאה מפורטים דגלי התכונות שזמינים ל-Health Connect. הפונקציונליות של feature flag לא תהיה זמינה לשימוש אם המכשיר של המשתמש לא תומך בתכונה.

טבלה: דגלי זמינות של תכונות ב-Health Connect
Feature flag סוג נתונים מדריכים קשורים
FEATURE_ACTIVITY_INTENSITY עצימות הפעילות אימונים
FEATURE_EXTENDED_DEVICE_TYPES סוגי מכשירים מורחבים דרישות לגבי מטא-נתונים
FEATURE_MATCHMAKING שידוכים
FEATURE_PERSONAL_HEALTH_RECORD תיק רפואי פורמט הנתונים של תיקים רפואיים
כתיבת נתונים רפואיים
קריאת נתונים רפואיים
FEATURE_MINDFULNESS_SESSION מיינדפולנס מעקב אחרי מיינדפולנס
FEATURE_PLANNED_EXERCISE אימון כושר מתוכנן אימונים
תוכניות אימונים
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND קריאת נתונים ברקע דוגמה לקריאה ברקע
FEATURE_READ_HEALTH_DATA_HISTORY קריאת נתונים היסטוריים קריאת נתונים מלפני יותר מ-30 ימים
FEATURE_SKIN_TEMPERATURE טמפרטורת העור מדדים חיוניים
מדידת טמפרטורת העור

ביצוע הבדיקה

הפונקציה העיקרית לבדיקת הזמינות של תכונות היא getFeatureStatus(). הפונקציה מחזירה את הקבועים של המספרים השלמים FEATURE_STATUS_AVAILABLE או FEATURE_STATUS_UNAVAILABLE:

כדי לדעת אם המכשיר של המשתמש מאפשר לקרוא נתוני בריאות וכושר ברקע ב-Health Connect, צריך לבדוק את הזמינות של FEATURE_READ_HEALTH_DATA_IN_BACKGROUND בלקוח:

‫
if (healthConnectClient
     .features
     .getFeatureStatus(
       HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
     ) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {

  // Feature is available
} else {
  // Feature isn't available
}

רשימה של כל סימוני התכונות האפשריים מופיעה בדף העזר בנושא HealthConnectFeatures.

מה עושים אם תכונה מסוימת לא זמינה

אם תכונה מסוימת לא זמינה במכשיר של משתמש, יכול להיות שאם מעדכנים, יהיה אפשר להשתמש בה. אם במכשיר של המשתמש לא מותקנת הגרסה העדכנית הנתמכת של Health Connect, כדאי להגיד לו לעדכן את האפליקציה. עם זאת, משתמשים שמשתמשים ב-APK (ב-Android 13 ובגרסאות קודמות) לא יכולים להשתמש בתכונות של מודולים של המערכת שזמינות רק במכשירים עם Android 14 ומעלה.

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