Health Platform API یک API اندروید است که یک رابط کاربری واحد برای خواندن، نوشتن و اشتراکگذاری دادههای سلامت، تندرستی و تناسب اندام کاربر در اختیار توسعهدهندگان قرار میدهد. با Health Platform، کاربران کنترل دادههای خود را در دست دارند. کاربران کنترل میکنند که کدام برنامهها به انواع مختلف دادهها دسترسی خواندن یا نوشتن دارند. انواع دادههای Health Platform API شامل قد، ضربان قلب و موارد دیگر میشود.
رابط برنامهنویسی کاربردی پلتفرم سلامت (Health Platform API) به کاربران یک مکانیزم ذخیرهسازی و اشتراکگذاری میدهد که به آنها اجازه میدهد انتخاب کنند کدام برنامهها میتوانند به دادههای سلامت، تناسب اندام و تندرستی شخصی آنها دسترسی داشته باشند و آنها را نمایش دهند. این امر به توسعهدهندگان برنامهها اجازه میدهد تا نمای کاملتری از سلامت کاربران را به آنها نشان دهند و به کاربران اجازه میدهد تا دادههای خود را به طور مؤثرتری نظارت کنند.
کیت توسعهدهنده نرمافزار Health Platform API هر آنچه را که توسعهدهندگان برنامههای اندروید برای دسترسی به دادههای سلامت و تندرستی کاربر در دستگاههای منتخب سامسونگ نیاز دارند، در اختیارشان قرار میدهد و به برنامهها اجازه میدهد عملیات عمدهای مانند درج، حذف و خواندن دادهها را انجام دهند.
شروع کنید
هنگام استفاده از پلتفرم سلامت، نکات زیر را در نظر داشته باشید:
- برنامههای کلاینت باید مجوزهای جزئی برای دسترسی خواندن یا نوشتن از کاربر دریافت کنند.
- کاربر میتواند مجوزها را رد کند یا پس از آن در هر زمانی مجوزها را لغو کند.
- رابط برنامهنویسی کاربردی پلتفرم سلامت (Health Platform API) فقط از دستگاههای منتخب سامسونگ پشتیبانی میکند.
-
HealthDataClientکلاینت پلتفرم سلامت و نقطه ورود به پلتفرم سلامت است.
تصویر زیر مراحل ادغام لازم را که توسعهدهندگان باید دنبال کنند، نشان میدهد:

انتشار فایلها
نسخه Health Platform V1 شامل موارد زیر است:
- کیت توسعه نرمافزار کلاینت (Client SDK) : این کیت توسعه نرمافزار (SDK) را در برنامه خود قرار دهید تا از API پلتفرم سلامت (Health Platform API) استفاده کنید. این SDK یک مخزن Maven است که میتوانید مستقیماً در فایلهای Gradle build برنامه خود قرار دهید.
نصب پلتفرم سلامت
پلتفرم سلامت را با استفاده از مراحل زیر نصب کنید:
در فایل build.gradle ریشه برنامه، مخزن را اضافه کنید، همانطور که در مثال زیر نشان داده شده است:
allprojects {
. . .
repositories {
. . .
google()
}
}
همانطور که در مثال زیر نشان داده شده است، یک وابستگی به SDK پلتفرم سلامت در فایل build.gradle ماژول خود اضافه کنید:
کاتلین
وابستگیها { . . . پیادهسازی("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }
گرووی
وابستگیها { . . . پیادهسازی 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }
دادهها
پلتفرم سلامت، دادههای سلامت و تناسب اندام را ذخیره و ساختاردهی میکند. همچنین تفاوتهای اساسی بین نحوه اندازهگیری انواع مختلف دادهها را در نظر میگیرد. به عنوان مثال، اندازهگیری ضربان قلب بلافاصله انجام میشود، اما شمارش گامها در یک دوره زمانی انجام میشود.
در اینجا نگاهی به اشیاء اصلی در پلتفرم سلامت و تفاوت آنها میاندازیم:
-
RawData: یک رکورد اندازهگیری و داده. -
DataType): مشخصکننده انواع رایج دادههای سلامت و تناسب اندام، مانند ضربان قلب، چربی بدن یا دمای بدن، و قالبهای آنها، مانند فیلدها، فقط خواندنی یا اختیاری. -
SampleData: یک شیءRawDataکه یک اندازهگیری آنی مانند ضربان قلب، فشار خون یا سرعت دویدن است. -
IntervalData: یک شیءRawDataکه یک اندازهگیری تجمعی است که در یک دوره زمانی انجام میشود، مانند تعداد گامهای برداشته شده، مسافت طی شده یا کالری سوزانده شده. -
SeriesData: یک شیءRawDataکه توالی اندازهگیریها را در یک دوره زمانی کپسولهسازی میکند.SeriesDataبه ویژه برای دادههای حسگر با فرکانس بالا، مانند نمونههای مداوم ضربان قلب در طول یک جلسه فعالیت، مناسب است.
هر یک از سه کلاس RawData با یک زیرکلاس خاص از DataType مطابقت دارد: SampleData ، IntervalData و SeriesData به ترتیب با SampleDataType ، IntervalDataType و SeriesDataType مطابقت دارند.
هر شیء RawData هنگام درج، توسط پلتفرم Health یک شناسه منحصر به فرد (UID) به خود اختصاص میدهد. میتوانید از این UID برای ارجاع به یک شیء RawData خاص در درخواستهای خواندن، بهروزرسانی یا حذف استفاده کنید.
انواع داده
پلتفرم سلامت شامل مجموعه گستردهای از انواع دادهها است که معمولاً در برنامههای سلامت و تناسب اندام استفاده میشوند. دادههای ذخیره شده با انواع دادههای موجود، نمای جامعی از دادههای سلامت، تناسب اندام و تندرستی تاریخی کاربران را در اختیار آنها قرار میدهد و بینشی در مورد فعالیتهای روزانه آنها ارائه میدهد.
هر نوع داده با فرمت داده خود تعریف میشود که شامل موارد زیر است:
- فیلدها: فیلدهای خاص یا عمومی مرتبط با نوع داده. به عنوان مثال، نوع داده اشباع اکسیژن خون (SpO2) دارای فیلدهایی مانند عنوان، یادداشتها و درصد است.
- نوع: long، double، string یا enum.
- ویژگی: فقط خواندنی، الزامی، اختیاری یا محدوده اعتبارسنجی.
فهرست انواع دادهها
با درک انواع دادههای موجود، از پلتفرم سلامت نهایت استفاده را ببرید. پلتفرم سلامت از انواع دادههای نشان داده شده در جدول زیر پشتیبانی میکند. انواع دادهها بر اساس قالب آنها سازماندهی شدهاند: نمونهای، بازه ای یا سری.
انواع 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 | مورد نیاز |
توابع توسعهدهنده
در ادامه، مجموعه توابع استاندارد داده موجود در پلتفرم سلامت شرح داده شده است. این پلتفرم توابع استاندارد درج، بهروزرسانی و حذف را برای دادههای خام ارائه میدهد.
خواندن دادههای تجمیعشده
این پلتفرم به مشتریان اجازه میدهد تا یک تابع تجمیع را روی انواع AggregatedData زیر اعمال کنند:
-
StatisticalData: میانگین، حداقل یا حداکثر مقادیر در مجموعهای ازSampleDataیاSeriesData، مانند حداقل و حداکثر ضربان قلب در طول یک جلسه فعالیت. -
CumulativeData: مجموع مقادیرIntervalData، مانند تعداد کل گامها در یک بازه روزانه. -
CountData: شمارش تعداد اشیاءRawDataزیربنایی، مانند تعداد جلسات فعالیت در یک هفته معین. دادههای شمارش را میتوان برای انواع دادههای نمونه، بازه و سری محاسبه کرد.
اتصال به API پلتفرم سلامت
HealthDataClient نقطه ورود به API پلتفرم سلامت است.
مراحل زیر نحوه اتصال به پلتفرم سلامت را شرح میدهد:
- از
HealthDataService.getClientبرای ایجاد نمونههای جدیدHealthDataClientاستفاده کنید. - سپس برنامهی کلاینت باید با استفاده از متد
requestPermissions (Set)از کاربر درخواست مجوز کند.
HealthDataClient به طور خودکار اتصال خود را به لایه ذخیرهسازی زیرین مدیریت میکند و تمام ارتباطات بین فرآیندی (IPC) و سریالسازی درخواستهای خروجی و پاسخهای ورودی را مدیریت میکند.
برای شما توصیه میشود
- توجه: متن لینک زمانی نمایش داده میشود که جاوا اسکریپت غیرفعال باشد.
- دادهها و تمرینهای فعال
- بهروزرسانیهای غیرفعال دادهها
- استفاده از Jetpack Compose در Wear OS