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

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

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