التحقّق من توفّر الميزات

عند إضافة ميزات جديدة إلى Health Connect، قد لا يحدّث المستخدمون دائمًا إصدار Health Connect. تتيح واجهة برمجة التطبيقات Feature Availability API التحقّق مما إذا كانت إحدى ميزات Health Connect متاحة على جهاز المستخدم وتحديد الإجراء الذي يجب اتّخاذه.

البدء

تتشارك واجهة برمجة التطبيقات Feature Availability API التبعية نفسها مع حزمة تطوير البرامج (SDK) الخاصة بتطبيق Health Connect. للبدء، تأكَّد من أنّ الإصدار 1.1.0-alpha08 على الأقل مضمّن في ملف build.gradle:

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

مفاتيح تبديل أوضاع الميزات

يتم إدراج علامات الميزات المتاحة لتطبيق Health Connect في الجدول التالي. لن تتوفّر الوظائف التي تتيحها علامة الميزة للاستخدام إذا كان جهاز المستخدم لا يتوافق مع الميزة.

الجدول: علامات توفُّر ميزات Health Connect
مفتاح إيقاف أو تفعيل الميزات نوع البيانات الأدلة ذات الصلة
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 (على الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم) الاستفادة من ميزات وحدة النظام المتوفّرة فقط على الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث.

بالنسبة إلى أنواع الأجهزة الموسّعة، إذا لم تكن القيمة FEATURE_EXTENDED_DEVICE_TYPES متاحة على جهاز المستخدم، سيتم التعامل مع هذه القيم على أنّها Device.TYPE_UNKNOWN. توفير قيمة احتياطية منطقية في منطق الكتابة وواجهة المستخدم