تخطيط أنواع بيانات 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 API أيضًا سمات البيانات الوصفية описанة في القائمة التالية:

  • معرّف 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 أرقام تعريف 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 والإصدارات الأحدث

نوع فئة السجلّ بيان أذونات القراءة والكتابة
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.WRITE_EXERCISE
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
نزيف القُرء 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
MenstruationPeriod android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
التغذية android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
OvulationTest android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST
OxygenSaturation android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
PlannedExercise 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
معدل ضربات القلب في حالة الراحة 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 androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
السرعة android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
الخطوات 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
WheelchairPushes 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.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.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
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.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE
الارتفاع androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
الترطيب androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE
نزيف القُرء 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.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE
التغذية androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE
OvulationTest androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE
OxygenSaturation androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE
الطاقة androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
RespiratoryRate androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE
معدل ضربات القلب في حالة الراحة 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
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
الخطوات 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
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

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

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

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

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