واجهة برمجة تطبيقات Health Platform

‫Health Platform API هي واجهة برمجة تطبيقات لنظام التشغيل Android توفّر للمطوّرين واجهة واحدة لقراءة وكتابة ومشاركة بيانات المستخدم السابقة المتعلّقة بالصحة والعافية واللياقة البدنية. من خلال Health Platform، يمكن للمستخدمين التحكّم في بياناتهم. يمكن للمستخدمين التحكّم في التطبيقات التي يمكنها الوصول إلى أنواع مختلفة من البيانات للقراءة أو الكتابة. الصحة: تشمل أنواع بيانات Platform API الطول ومعدل ضربات القلب وغير ذلك.

توفّر واجهة برمجة التطبيقات Health Platform API للمستخدمين آلية تخزين ومشاركة تتيح لهم اختيار التطبيقات التي يمكنها الوصول إلى بياناتهم الشخصية المتعلّقة بالصحة واللياقة البدنية والعافية وعرضها. يتيح ذلك بعد ذلك لمطوّري التطبيقات عرض ملف شخصي كامل للمستخدمين يتضمن معلومات عن صحتهم، كما يتيح للمستخدمين تتبُّع بياناتهم بفعالية أكبر.

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

البدء

عند استخدام Health Platform، يُرجى مراعاة ما يلي:

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

تعرض الصورة التالية خطوات الدمج اللازمة التي يجب أن يليها المطوّرون:

خطوات الدمج، بما في ذلك إعداد حزمة SDK وعمليات الوصول والأذونات وعمليات CRUD
الشكل 1. خطوات دمج Health Platform

ملفات الإصدار

يتضمّن الإصدار 1 من Health Platform ما يلي:

  • حزمة تطوير البرامج (SDK) للعملاء: أدرِج حزمة SDK هذه في تطبيقك لاستخدام واجهة برمجة التطبيقات Health Platform API. حزمة SDK هي مستودع Maven يمكنك تضمينها مباشرةً فيملفّات إنشاء Gradle لتطبيقك.

تثبيت Health Platform

ثبِّت Health Platform باتّباع الخطوات التالية:

في ملف build.gradle الجذر للتطبيق، أضِف المستودع، كما هو موضّح في المثال التالي:

allprojects {
    . . .
    repositories {
        . . .
        google()
    }
}

أضِف تبعية لحزمة SDK لمنصّة Health Platform في ملف build.gradle المتعلق بوحدتك، كما هو موضّح في المثال التالي:

Kotlin

dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }

رائع

dependencies { . . . implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }

البيانات

تخزِّن Health Platform بيانات الصحة واللياقة البدنية وتُنظّمها. ويأخذ أيضًا في الاعتبار الاختلافات الأساسية بين كيفية قياس البيانات بأنواع مختلفة. على سبيل المثال، يتم قياس معدل ضربات القلب على الفور، ولكن يتم احتساب عدد الخطوات على مدار فترة زمنية.

في ما يلي نظرة على العناصر المركزية في Health Platform واختلافاتها:

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

تتوافق كل فئة من فئات RawData الثلاث مع فئة فرعية معيّنة من DataType: تتوافق SampleData وIntervalData وSeriesData مع SampleDataType وIntervalDataType وSeriesDataType، على التوالي.

عند إدراج كل عنصر RawData، تحدّد منصة Health Platform معرّفًا فريدًا (UID) له. يمكنك استخدام معرّف فريد هذا للإشارة إلى RawData عنصر معيّن في طلبات القراءة أو التعديل أو الحذف.

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

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

يتم تحديد كل نوع بيانات من خلال تنسيق البيانات الخاص به، والذي يتضمّن ما يلي:

  • الحقول: حقول محدّدة أو عامة مرتبطة بنوع البيانات على سبيل المثال، يحتوي نوع بيانات نسبة الأكسجين في الدم (SpO2) على حقول مثل العنوان والملاحظات والنسبة المئوية.
  • النوع: long أو double أو string أو enum
  • السمة: للقراءة فقط أو مطلوبة أو اختيارية أو نطاق التحقّق

قائمة بأنواع البيانات

يمكنك الاستفادة إلى أقصى حد من Health Platform من خلال فهم أنواع البيانات المتاحة. تتيح Health Platform أنواع البيانات الموضّحة في الجدول التالي. يتم تنظيم أنواع البيانات حسب تنسيقها: عيّنة أو فاصل زمني أو سلسلة.

SampleData أنواع:

DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE مطلوب
DataType.BloodGlucoseDataType BLOOD_GLUCOSE السمات المطلوبة والاختيارية
DataType.BloodPressureDataType BLOOD_PRESSURE السمات المطلوبة والاختيارية
DataType.BodyFatDataType BODY_FAT مطلوب
DataType.BodyTemperatureDataType BODY_TEMPERATURE السمات المطلوبة والاختيارية
DataType.BoneMassDataType BONE_MASS مطلوب
DataType.CervicalMucusDataType CERVICAL_MUCUS اختياري
DataType.CervicalPositionDataType CERVICAL_POSITION اختياري
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE مطلوب
DataType.DateOfBirthDataType DATE_OF_BIRTH قراءة فقط
DataType.GenderDataType GENDER قراءة فقط
DataType.HeartRateDataType HEART_RATE مطلوب
DataType.HeightDataType HEIGHT مطلوب
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE مطلوب
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX مطلوب
DataType.HrvRmssdDataType HRV_RMSSD مطلوب
DataType.HrvSDataType HRV_S مطلوب
DataType.HrvSd2DataType HRV_SD2 مطلوب
DataType.HrvSdannDataType HRV_SDANN مطلوب
DataType.HrvSdnnDataType HRV_SDNN مطلوب
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX مطلوب
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX مطلوب
DataType.HrvSdsdDataType HRV_SDSD مطلوب
DataType.HrvTinnDataType HRV_TINN مطلوب
DataType.LeanBodyMassDataType LEAN_BODY_MASS مطلوب
DataType.LocationDataType LOCATION مطلوب
DataType.MenstruationDataType MENSTRUATION اختياري
DataType.OvulationTestDataType OVULATION_TEST مطلوب
DataType.OxygenSaturationDataType OXYGEN_SATURATION مطلوب
DataType.PaceDataType PACE مطلوب
DataType.PowerDataType POWER مطلوب
DataType.RespiratoryRateDataType RESPIRATORY_RATE مطلوب
DataType.RestingHeartRateDataType RESTING_HEART_RATE مطلوب
DataType.SexualActivityDataType SEXUAL_ACTIVITY مطلوب
DataType.SpeedDataType SPEED مطلوب
DataType.StepsCadenceDataType STEPS_CADENCE مطلوب
DataType.Vo2MaxDataType VO2_MAX السمات المطلوبة والاختيارية
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE مطلوب
DataType.WeightDataType WEIGHT مطلوب

IntervalData أنواع:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED مطلوب
DataType.ActiveTimeDataType ACTIVE_TIME قراءة فقط
DataType.ActivityEventDataType ACTIVITY_EVENT مطلوب
DataType.ActivityLapDataType ACTIVITY_LAP اختياري
DataType.ActivitySessionDataType ACTIVITY_SESSION مطلوب
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED قراءة فقط
DataType.DistanceDataType DISTANCE مطلوب
DataType.ElevationGainedDataType ELEVATION_GAINED مطلوب
DataType.FloorsClimbedDataType FLOORS_CLIMBED مطلوب
DataType.HydrationDataType HYDRATION مطلوب
DataType.NutritionDataType NUTRITION اختياري
DataType.RepetitionsDataType REPETITIONS مطلوب
DataType.SleepSessionDataType SLEEP_SESSION اختياري
DataType.SleepStageDataType SLEEP_STAGE مطلوب
DataType.StepsDataType STEPS مطلوب
DataType.SwimmingStrokesDataType SWIMMING_STROKES السمات المطلوبة والاختيارية
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED قراءة فقط

SeriesData أنواع:

DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE مطلوب
DataType.HeartRateSeriesDataType HEART_RATE مطلوب
DataType.LocationSeriesDataType LOCATION مطلوب
DataType.PaceSeriesDataType PACE مطلوب
DataType.PowerSeriesDataType POWER مطلوب
DataType.SpeedSeriesDataType SPEED مطلوب
DataType.StepsCadenceSeriesDataType STEPS_CADENCE مطلوب

وظائف المطوّرين

يوضّح ما يلي مجموعة دوال البيانات العادية المتوفّرة ضمن Health Platform. توفّر المنصة وظائف إدراج وتعديل وحذف عادية للبيانات الأولية.

قراءة AggregatedData

تسمح المنصة للعملاء بتطبيق دالة تجميع على الأنواع التالية من AggregatedData:

  • StatisticalData: متوسط القيم أو الحد الأدنى أو الحد الأقصى في مجموعة من SampleData أو SeriesData، مثل الحد الأدنى والحد الأقصى لمعدل ضربات قلبك أثناء جلسة نشاط.
  • CumulativeData: مجموع قيم IntervalData، مثل إجمالي عدد الخطوات خلال فترة يومية
  • CountData: عدد بسيط لعدد RawData العناصر الأساسية، مثل عدد جلسات النشاط في أسبوع معيّن يمكن احتساب بيانات الاحتساب لأنواع البيانات "العيّنة" و"الفاصل الزمني" و"السلسلة".

الربط بواجهة برمجة التطبيقات Health Platform API

HealthDataClient هي نقطة الدخول إلى Health Platform API.

توضِّح الخطوات التالية كيفية الاتصال بمنصّة Health Platform:

  1. استخدِم HealthDataService.getClient لإنشاء نُسخ جديدة من HealthDataClient.
  2. بعد ذلك، يجب أن يطلب تطبيق العميل الإذن من المستخدم باستخدام الطريقة requestPermissions (Set).

تدير HealthDataClient اتّصالها بطبقة التخزين الأساسية تلقائيًا، كما تعالج جميع عمليات "التواصل بين العمليات" (IPC) وسلسلة رسائل الطلبات الصادرة والردود الواردة.