Health Platform API הוא ממשק API ל-Android שמספק למפתחים ממשק יחיד לקריאה, לכתיבה ולשיתוף של נתוני בריאות, רווחה וכושר היסטוריים של משתמש. באמצעות פלטפורמת הבריאות, המשתמשים יכולים לשלוט בנתונים שלהם. המשתמשים יכולים להחליט לאילו אפליקציות תהיה גישת קריאה או כתיבה לסוגים שונים של נתונים. סוגי הנתונים ב-Health Platform API כוללים גובה, דופק ועוד.
ממשק Health Platform API מספק למשתמשים מנגנון אחסון ושיתוף שמאפשר להם לבחור אילו אפליקציות יוכלו לגשת לנתוני הבריאות, הכושר והרווחה האישיים שלהם ולהציג אותם. כך מפתחי אפליקציות יכולים להציג למשתמשים תמונה מלאה יותר של מצב הבריאות שלהם, והמשתמשים יכולים לעקוב אחרי הנתונים שלהם בצורה יעילה יותר.
ערכת הכלים לפיתוח תוכנה של Health Platform API מספקת למפתחי אפליקציות ל-Android את כל מה שהם צריכים כדי לספק גישה לנתוני הבריאות והרווחה של המשתמש במכשירי Samsung נבחרים, והיא מאפשרת לאפליקציות לבצע פעולות בכמויות גדולות, כמו הוספה, מחיקה וקריאה של נתונים.
שנתחיל?
כשמשתמשים ב-Health Platform, חשוב לזכור את הדברים הבאים:
- אפליקציות לקוח צריכות לקבל מהמשתמש הרשאות מפורטות לגישת קריאה או כתיבה.
- המשתמש יכול לדחות את ההרשאות או לבטל אותן בכל שלב לאחר מכן.
- Health Platform API תומך רק במכשירי סמסונג נבחרים.
-
HealthDataClient
הוא הלקוח של פלטפורמת הבריאות ונקודת הכניסה לפלטפורמת הבריאות.
בתמונה הבאה מוצגים שלבי השילוב שבהם המפתחים צריכים לפעול:

קבצים של גרסת הפצה
הגרסה הראשונה של פלטפורמת הבריאות כוללת את הרכיבים הבאים:
- Client SDK: צריך לכלול את ה-SDK הזה באפליקציה כדי להשתמש ב-Health Platform API. ה-SDK הוא מאגר Maven שאפשר לכלול ישירות בקובצי ה-build של Gradle באפליקציה.
התקנת פלטפורמת הבריאות
כדי להתקין את פלטפורמת הבריאות:
בקובץ הבסיס build.gradle
של האפליקציה, מוסיפים את המאגר, כמו בדוגמה הבאה:
allprojects {
. . .
repositories {
. . .
google()
}
}
מוסיפים תלות ב-Health Platform SDK בקובץ build.gradle
של המודול, כמו בדוגמה הבאה:
Kotlin
dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }
Groovy
dependencies { . . . implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }
נתונים
פלטפורמת הבריאות שומרת ומארגנת נתוני בריאות וכושר. בנוסף, המודל מתחשב בהבדלים המהותיים בין שיטות המדידה של סוגי נתונים שונים. לדוגמה, מדידת קצב הלב מתבצעת באופן מיידי, אבל מדידת מספר הצעדים מתבצעת לאורך תקופת זמן מסוימת.
ריכזנו כאן את האובייקטים המרכזיים ב-Health Platform וההבדלים ביניהם:
-
RawData
: מדידה ורשומה של נתונים. -
DataType
: מזהה של סוגים נפוצים של נתוני בריאות וכושר, כמו קצב לב, שומן בגוף או טמפרטורת הגוף, והפורמטים שלהם, כמו שדות, קריאה בלבד או אופציונליים. -
SampleData
: אובייקטRawData
שהוא מדידה מיידית, כמו קצב לב, לחץ דם או מהירות ריצה. -
IntervalData
: אובייקטRawData
שהוא מדידה מצטברת שמתבצעת לאורך תקופה מסוימת, כמו מספר הצעדים, המרחק שעברתם או מספר הקלוריות שנשרפו. -
SeriesData
: אובייקטRawData
שמכיל רצף של מדידות לאורך תקופה. SeriesData
מתאים במיוחד לנתוני חיישנים בתדירות גבוהה, כמו דגימות רציפות של קצב הלב במהלך פעילות.
כל אחת משלוש המחלקות RawData
מתאימה למחלקת משנה ספציפית של DataType
: המחלקות SampleData
, IntervalData
ו-SeriesData
מתאימות למחלקות SampleDataType
, IntervalDataType
ו-SeriesDataType
, בהתאמה.
לכל אובייקט RawData
מוקצה מזהה ייחודי (UID) על ידי פלטפורמת Health כשהוא מוכנס. אפשר להשתמש במזהה הייחודי הזה כדי להפנות אל RawData
אובייקט ספציפי בבקשות קריאה, עדכון או מחיקה.
סוגי הנתונים
פלטפורמת הבריאות כוללת מגוון רחב של סוגי נתונים שנפוצים באפליקציות בריאות וכושר. הנתונים שמאוחסנים בסוגי הנתונים הזמינים מספקים למשתמשים תמונה מקיפה של נתוני הבריאות, הכושר והרווחה שלהם לאורך זמן, ומאפשרים להם לקבל תובנות לגבי הפעילויות היומיומיות שלהם.
כל סוג נתונים מוגדר לפי פורמט הנתונים שלו, שכולל את הפרטים הבאים:
- שדות: שדות ספציפיים או כלליים שמשויכים לסוג הנתונים. לדוגמה, לסוג הנתונים של סטורציית חמצן בדם (SpO2) יש שדות כמו Title (שם), Notes (הערות) ו-Percentage (אחוז).
- סוג: long, double, string או enum.
- מאפיין: לקריאה בלבד, חובה, אופציונלי או טווח אימות.
רשימה של סוגי נתונים
כדי להפיק את המקסימום מ-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
:
-
StatisticalData
: הערכים הממוצעים, המינימליים או המקסימליים בקבוצה שלSampleData
אוSeriesData
, כמו קצב הלב המינימלי והמקסימלי במהלך סשן פעילות. -
CumulativeData
: סכום הערכים שלIntervalData
, למשל מספר הצעדים הכולל במרווח יומי. -
CountData
: ספירה פשוטה של מספר האובייקטים הבסיסייםRawData
, כמו מספר הסשנים של פעילות בשבוע נתון. אפשר לחשב נתוני ספירה עבור סוגי הנתונים sample, interval ו-series.
קישור אל Health Platform API
HealthDataClient
היא נקודת הכניסה ל-Health Platform API.
כדי להתחבר לפלטפורמת הבריאות, פועלים לפי השלבים הבאים:
- משתמשים ב-
HealthDataService.getClient
כדי ליצור מופעים חדשים שלHealthDataClient
. - אחרי כן, אפליקציית הלקוח צריכה לבקש הרשאה מהמשתמש באמצעות השיטה
requestPermissions (Set)
.
HealthDataClient
מנהל באופן אוטומטי את החיבור שלו לשכבת האחסון הבסיסית, ומטפל בכל התקשורת בין תהליכים (IPC) והסדרות של בקשות יוצאות ותשובות נכנסות.
מומלץ
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- נתונים פעילים ותרגילים
- עדכונים של נתונים פסיביים
- שימוש ב-Jetpack Compose ב-Wear OS