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

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

שנתחיל?

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

dependencies {
  implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

מתגי feature flag

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

טבלה: דגלים של זמינות תכונות ב-Health Connect
מתג feature flag סוג נתונים מדריכים קשורים
FEATURE_ACTIVITY_INTENSITY עצימות הפעילות
FEATURE_EXTENDED_DEVICE_TYPES סוגי מכשירים נוספים הדרישות לגבי מטא-נתונים
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. צריך לספק חלופה הגיונית בלוגיקה של הכתיבה ובממשק המשתמש.