Health Platform API

Health Platform API یک API اندروید است که یک رابط کاربری واحد برای خواندن، نوشتن و اشتراک‌گذاری داده‌های سلامت، تندرستی و تناسب اندام کاربر در اختیار توسعه‌دهندگان قرار می‌دهد. با Health Platform، کاربران کنترل داده‌های خود را در دست دارند. کاربران کنترل می‌کنند که کدام برنامه‌ها به انواع مختلف داده‌ها دسترسی خواندن یا نوشتن دارند. انواع داده‌های Health Platform API شامل قد، ضربان قلب و موارد دیگر می‌شود.

رابط برنامه‌نویسی کاربردی پلتفرم سلامت (Health Platform API) به کاربران یک مکانیزم ذخیره‌سازی و اشتراک‌گذاری می‌دهد که به آنها اجازه می‌دهد انتخاب کنند کدام برنامه‌ها می‌توانند به داده‌های سلامت، تناسب اندام و تندرستی شخصی آنها دسترسی داشته باشند و آنها را نمایش دهند. این امر به توسعه‌دهندگان برنامه‌ها اجازه می‌دهد تا نمای کامل‌تری از سلامت کاربران را به آنها نشان دهند و به کاربران اجازه می‌دهد تا داده‌های خود را به طور مؤثرتری نظارت کنند.

کیت توسعه‌دهنده نرم‌افزار Health Platform API هر آنچه را که توسعه‌دهندگان برنامه‌های اندروید برای دسترسی به داده‌های سلامت و تندرستی کاربر در دستگاه‌های منتخب سامسونگ نیاز دارند، در اختیارشان قرار می‌دهد و به برنامه‌ها اجازه می‌دهد عملیات عمده‌ای مانند درج، حذف و خواندن داده‌ها را انجام دهند.

شروع کنید

هنگام استفاده از پلتفرم سلامت، نکات زیر را در نظر داشته باشید:

  • برنامه‌های کلاینت باید مجوزهای جزئی برای دسترسی خواندن یا نوشتن از کاربر دریافت کنند.
  • کاربر می‌تواند مجوزها را رد کند یا پس از آن در هر زمانی مجوزها را لغو کند.
  • رابط برنامه‌نویسی کاربردی پلتفرم سلامت (Health Platform API) فقط از دستگاه‌های منتخب سامسونگ پشتیبانی می‌کند.
  • HealthDataClient کلاینت پلتفرم سلامت و نقطه ورود به پلتفرم سلامت است.

تصویر زیر مراحل ادغام لازم را که توسعه‌دهندگان باید دنبال کنند، نشان می‌دهد:

مراحل ادغام، شامل راه‌اندازی SDK، دسترسی‌ها و مجوزها و عملیات CRUD.
شکل 1. مراحل ادغام پلتفرم سلامت.

انتشار فایل‌ها

نسخه 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 :

جدول 1: 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 :

جدول 3: انواع 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 پلتفرم سلامت است.

مراحل زیر نحوه اتصال به پلتفرم سلامت را شرح می‌دهد:

  1. از HealthDataService.getClient برای ایجاد نمونه‌های جدید HealthDataClient استفاده کنید.
  2. سپس برنامه‌ی کلاینت باید با استفاده از متد requestPermissions (Set) از کاربر درخواست مجوز کند.

HealthDataClient به طور خودکار اتصال خود را به لایه ذخیره‌سازی زیرین مدیریت می‌کند و تمام ارتباطات بین فرآیندی (IPC) و سریال‌سازی درخواست‌های خروجی و پاسخ‌های ورودی را مدیریت می‌کند.

{% کلمه به کلمه %} {% فعل کمکی %} {% کلمه به کلمه %} {% فعل کمکی %}