تخطيط أنواع بيانات Health Connect ومراجعتها

يخزِّن تطبيق Health Connect بيانات الصحة واللياقة البدنية وينظّمها. ويشمل أيضًا طريقة قياس أنواع البيانات المختلفة. تشمل أنواع البيانات هذه قياسات معدّل نبضات القلب التي يتم إجراؤها على الفور، وعدد الخطوات التي يتم احتسابها بمرور الوقت، وبيانات النوم التي يتم جمعها في جلسات.

من المهم أولاً فهم أنواع البيانات والأذونات التي يوفّرها تطبيق Health Connect حتى تتمكّن من التخطيط لمتطلبات تطبيقك. وبناءً على ذلك، عليك مراجعة أنواع البيانات قبل إكمال متطلباتك.

فئات أنواع البيانات

يتيح تطبيق Health Connect أنواع البيانات المستخدَمة في معظم تطبيقات الصحة واللياقة البدنية لتوفير أكبر قدر ممكن من التنوع. يهدف تطبيق Health Connect إلى توفير عرض شامل وتخزين لبيانات الصحة واللياقة البدنية. وتنقسم أنواع البيانات هذه إلى الفئات التالية:

  • النشاط: يسجّل هذا القسم أي نشاط يجريه المستخدم. ويمكن أن يشمل ذلك أنشطة الصحة واللياقة البدنية، مثل الجري والسباحة.
  • قياسات الجسم: يتم من خلال هذه الفئة تسجيل البيانات الشائعة المتعلقة بالجسم، مثل وزن المستخدم ومعدل الأيض الأساسي.
  • تتبُّع الدورة الشهرية: تسجّل هذه الميزة الدورات الشهرية ونقاط البيانات ذات الصلة، مثل النتيجة الثنائية لاختبار الإباضة.
  • المعلومات الغذائية: يجمع هذا النوع بيانات عن شُرب الماء والسوائل والمعلومات الغذائية. يمثّل الأول كمية الماء التي يستهلكها المستخدم في شربة واحدة. ويشمل الأخير حقولاً اختيارية، مثل السعرات الحرارية والسكر والمغنيسيوم.
  • النوم: تسجّل هذه الفئة بيانات الفترات الزمنية المتعلقة بمدة نوم المستخدم ونوعه.
  • المؤشرات الحيوية: تسجّل هذه الفئة المعلومات الأساسية حول صحة المستخدم العامة. ويشمل ذلك بيانات مثل درجة حرارة الجسم ومستوى الغلوكوز في الدم وضغط الدم وتشبّع الدم بالأكسجين.

تنسيق نوع البيانات

يتم تخزين أنواع البيانات في Health Connect في عناصر هي فئات فرعية من Record.

لكل نوع من أنواع البيانات، هناك حقول مرتبطة تكون إما عامة، مثل time وzoneOffset، أو محددة، مثل title وcount وpercentage. تستخدم بعض الحقول أنواعًا بسيطة، مثل long أو double أو string، بينما تستخدم حقول أخرى أنواعًا معقّدة، مثل التعدادات والفئات مثل Instant وZoneOffset. يمكن أن تكون سمات هذه الحقول مطلوبة أو اختيارية. بعض السمات تكون للقراءة فقط، وبعضها الآخر يكون محصورًا بنطاق معيّن من القيم.

للاطّلاع على القائمة الكاملة بأنواع البيانات المتاحة وحقولها، يُرجى الرجوع إلى الفئات في Jetpack.

سمات البيانات الإضافية

تتضمّن البيانات في واجهة برمجة التطبيقات Health Connect أيضًا سمات البيانات الوصفية الموضّحة في القائمة التالية:

  • معرّف Health Connect: يتم تعيين معرّف فريد (UID) لكل نقطة بيانات عند إنشائها. ويفيد ذلك في عمليات القراءة والكتابة العادية. يمكنك الاطّلاع على معرّف Health Connect لمزيد من التفاصيل.
  • وقت آخر تعديل: يشير هذا الحقل إلى الطابع الزمني لآخر مرة تم فيها تعديل سجل. ويتم إنشاؤها تلقائيًا عند إنشاء السجلّ لأول مرة أو عند كل تعديل.
  • مصدر البيانات: يخزِّن تطبيق Health Connect معلومات حول التطبيق الذي تم جمع البيانات منه. ويحتوي على اسم حزمة المصدر، والذي تتم إضافته تلقائيًا عند الإنشاء.
  • الجهاز: تخزِّن Health Connect معلومات حول الجهاز الذي تم استخراج البيانات منه. تحتوي هذه السمة على الشركة المصنّعة للجهاز وطرازه، ويجب إدخال القيمة يدويًا.
  • معرّف العميل: يوفّر Health Connect معرّفات العملاء لكي تتمكّن تطبيقات العميل من الرجوع إلى البيانات باستخدام معرّفاتها الخاصة، ما يساعد في حلّ التعارضات ويسهّل المزامنة. يتم إدخال هذه القيمة في السجلّ يدويًا.
  • إصدار سجلّ العميل: بالإضافة إلى معرّف العميل، يوفّر Health Connect ميزة تحديد الإصدارات للمساعدة في تتبُّع التغييرات أثناء مزامنة البيانات. ويتم إدخال هذا الرقم في السجل يدويًا.
  • طريقة التسجيل: يتيح لك تطبيق Health Connect معرفة طريقة تسجيل البيانات. وتشمل هذه الطرق تسجيل التطبيقات للبيانات بشكل غير مباشر (تلقائيًا)، وتسجيل المستخدمين للبيانات بشكل مباشر أو يدوي.

معرّف Health Connect

يُعيّن تطبيق Health Connect معرّفات فريدة (UID) لعناصر البيانات المُدرَجة حديثًا، وهي تحدّد عناصر البيانات وتميّزها عن غيرها. تكون معرّفات Health Connect مفيدة في طلبات القراءة أو الكتابة. لا تتطابق أرقام تعريف Health Connect مع أرقام تعريف العملاء. يُخصّص تطبيق العميل أرقام تعريف العميل، بينما يخصّص Health Connect أرقام تعريف Health Connect حصريًا.

يُرجى مراعاة الملاحظات التالية عند استخدام معرّفات Health Connect:

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

الوقت المستغرَق في Health Connect

يجب أن تحدّد جميع البيانات التي تتم كتابتها في Health Connect معلومات إزاحة المنطقة الزمنية. يؤدي تحديد إزاحة المنطقة الزمنية إلى تمكين التطبيقات من قراءة البيانات لتمثيلها في الوقت المدني. التوقيت المدني هو التوقيت المحلي الذي يهم المستخدم، وليس بالضرورة التوقيت العالمي المتفق عليه (UTC).

في حالات نادرة، قد لا يتوفّر إزاحة المنطقة الزمنية. عند حدوث ذلك في نظام التشغيل Android 14 (المستوى 34 من واجهة برمجة التطبيقات)، يضبط تطبيق Health Connect إزاحة المنطقة الزمنية استنادًا إلى المنطقة الزمنية التلقائية للنظام على الجهاز. في الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم (المستوى 33 من واجهة برمجة التطبيقات والإصدارات الأقدم)، يمكن الكتابة إلى Health Connect بدون تحديد أي معلومات عن الإزاحة الزمنية، ويجب تجنُّب ذلك قدر الإمكان.

إعدادات الوقت والمنطقة

يؤدي تحديد معلومات إزاحة المنطقة الزمنية أثناء كتابة البيانات إلى توفير معلومات المنطقة الزمنية عند قراءة البيانات في Health Connect. ومع ذلك، قد يتعذّر ذلك في حالات معيّنة، مثل عدم توفير إزاحة المنطقة الزمنية. يجب أن يكون تطبيقك مستعدًا للتعامل مع كلا النوعين من البيانات بطريقة منطقية في ظروفك المحددة.

الأذونات

قبل طلب أي أذونات، يجب أن يوضّح تطبيقك هذه الأذونات في ملف البيان أولاً. راجِع الجداول التالية للاطّلاع على عملية الربط الكاملة بين أنواع البيانات وأذوناتها.

الإصدار 1.0.0-alpha10 والإصدارات الأحدث

مرجع الأذونات بيان إذن القراءة
عمليات القراءة في الخلفية android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
قراءات السجلّ android.permission.health.READ_HEALTH_DATA_HISTORY

نوع فئة السجلّ بيان إذن القراءة والكتابة
ActiveCaloriesBurned android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
BasalBodyTemperature android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
BasalMetabolicRate android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE
BloodGlucose android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE
BloodPressure android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE
BodyFat android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT
BodyTemperature android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE
BodyWaterMass android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS
BoneMass android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS
CervicalMucus android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS
CyclingPedalingCadence android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
المسافة android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
ElevationGained android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED
ExerciseSession android.permission.health.READ_EXERCISE
android.permission.health.READ_EXERCISE_ROUTE
android.permission.health.WRITE_EXERCISE
android.permission.health.WRITE_EXERCISE_ROUTE

نوع التمرين

EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_HAND
EXERCISE_TYPE_BIKING_MOUNTAIN
EXERCISE_TYPE_BIKING_ROAD
EXERCISE_TYPE_BIKING_SPINNING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BIKING_UTURN
EXERCISE_TYPE_CANOEING
EXERCISE_TYPE_CROSSFIT
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_HORSEBACK_RIDING
EXERCISE_TYPE_KAYAKING
EXERCISE_TYPE_KICKBOXING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_ROLLERBLADING
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_JOGGING
EXERCISE_TYPE_RUNNING_SAND
FloorsClimbed android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED
HeartRate android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
HeartRateVariabilityRmssd android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY
الارتفاع android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
الترطيب android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION
IntermenstrualBleeding android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
LeanBodyMass android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS
MenstruationFlow android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
MindfulnessSession android.permission.health.READ_MINDFULNESS
android.permission.health.WRITE_MINDFULNESS
التغذية android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
OvulationTest android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST
مستوى تشبّع الدم بالأكسجين android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
PlannedExerciseSession android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE
الطاقة android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
RespiratoryRate android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE
RestingHeartRate android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
SexualActivity android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY
SkinTemperature android.permission.health.READ_SKIN_TEMPERATURE
android.permission.health.WRITE_SKIN_TEMPERATURE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
السرعة android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
الخطوات android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
TotalCaloriesBurned android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED
السعة القصوى للأكسجين android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX
الوزن android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT
دفع الكرسي المتحرّك android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

بالنسبة إلى الإصدار 1.0.0-alpha09 والإصدارات الأقدم

نوع فئة السجلّ بيان إذن القراءة والكتابة
ActiveCaloriesBurned androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE
BasalBodyTemperature androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE
BasalMetabolicRate androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE
BloodGlucose androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE
BloodPressure androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE
BodyFat androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE
BodyTemperature androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE
BodyWaterMass androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE
BoneMass androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE
CervicalMucus androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE
CyclingPedalingCadence androidx.health.permission.Exercise.READ
androidx.health.permission.Exercise.WRITE
المسافة androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE
ElevationGained androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE
ExerciseSession androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE

نوع التمرين

EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_HAND
EXERCISE_TYPE_BIKING_MOUNTAIN
EXERCISE_TYPE_BIKING_ROAD
EXERCISE_TYPE_BIKING_SPINNING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BIKING_UTURN
EXERCISE_TYPE_CANOEING
EXERCISE_TYPE_CROSSFIT
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_HORSEBACK_RIDING
EXERCISE_TYPE_KAYAKING
EXERCISE_TYPE_KICKBOXING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_ROLLERBLADING
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_JOGGING
EXERCISE_TYPE_RUNNING_SAND
FloorsClimbed androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
HeartRate androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE
HeartRateVariabilityRmssd androidx.health.permission.HeartRateVariability.READ
androidx.health.permission.HeartRateVariability.WRITE
الارتفاع androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
الترطيب androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE
IntermenstrualBleeding androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE
LeanBodyMass androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE
MenstruationFlow androidx.health.permission.Menstruation.READ
androidx.health.permission.Menstruation.WRITE
التغذية androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE
OvulationTest androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE
مستوى تشبّع الدم بالأكسجين androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE
PlannedExerciseSession androidx.health.permission.PlannedExerciseSession.READ
androidx.health.permission.PlannedExerciseSession.WRITE
الطاقة androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
RespiratoryRate androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE
RestingHeartRate androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE
SexualActivity androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE
SleepSession androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE
السرعة androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
الخطوات androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
StepsCadence androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
السعة القصوى للأكسجين androidx.health.permission.VO2Max.READ
androidx.health.permission.VO2Max.WRITE
الوزن androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
دفع الكرسي المتحرّك androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

مراجعة أنواع البيانات والأذونات

بعد أن تخطّط لأنواع البيانات والأذونات، يمكنك تنفيذها أثناء التطوير.

عند مراجعة تطبيقك قبل تحميله إلى "متجر Play"، تحقَّق جيدًا من قائمة أنواع البيانات والأذونات التي يتطلّبها تطبيقك. يتيح لك ذلك الإفصاح بدقة عن كيفية استخدام تطبيقك للبيانات.

عند الاستعداد لنشر تطبيقك على "متجر Play"، عليك الإفصاح عن إمكانية الوصول إلى أنواع بيانات Health Connect التي يستخدمها تطبيقك. وبخلاف ذلك، قد تظهر للمستخدمين رسالة خطأ تفيد بأنّ تطبيقك لا يمكنه الوصول إلى أنواع بيانات Health Connect لأنّها تتطلّب موافقة خاصة.