Health Platform API הוא ממשק API ל-Android שמספק למפתחים ממשק יחיד לקריאה, לכתיבה ולשיתוף של נתוני בריאות, רווחה ונתונים של אימוני כושר היסטוריים של משתמש. באמצעות פלטפורמת הבריאות, המשתמשים יכולים לשלוט בנתונים שלהם. המשתמשים יכולים להחליט לאילו אפליקציות תהיה גישת קריאה או כתיבה לסוגים שונים של נתונים. סוגי הנתונים ב-Health Platform API כוללים גובה, דופק ועוד.
ה-API של פלטפורמת הבריאות מספק למשתמשים מנגנון אחסון ושיתוף שמאפשר להם לבחור אילו אפליקציות יוכלו לגשת לנתוני הבריאות, הכושר והרווחה האישיים שלהם ולהציג אותם. כך מפתחי אפליקציות יכולים להציג למשתמשים תמונה מלאה יותר של מצב הבריאות שלהם, והמשתמשים יכולים לעקוב אחרי הנתונים שלהם בצורה יעילה יותר.
ערכת הכלים לפיתוח תוכנה של Health Platform API מספקת למפתחי אפליקציות ל-Android את כל מה שהם צריכים כדי לספק גישה לנתוני הבריאות ואיכות החיים של המשתמש במכשירי סמסונג נבחרים, והיא מאפשרת לאפליקציות לבצע פעולות בכמות גדולה, כמו הוספה, מחיקה וקריאה של נתונים.
שנתחיל?
כשמשתמשים ב-Health Platform, חשוב לזכור את הדברים הבאים:
- אפליקציות לקוח צריכות לקבל מהמשתמש הרשאות מפורטות לגישת קריאה או כתיבה.
- המשתמש יכול לדחות את ההרשאות או לבטל אותן בכל שלב.
- Health Platform API תומך רק במכשירי סמסונג נבחרים.
-
HealthDataClientהוא הלקוח של Health Platform ונקודת הכניסה ל-Health Platform.
בתמונה הבאה מוצגים שלבי השילוב שעל המפתחים לבצע:
קבצים של גרסת הפצה
הגרסה הראשונה של פלטפורמת הבריאות כוללת את הרכיבים הבאים:
- 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") }
מגניב
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 אובייקט ספציפי בבקשות קריאה, עדכון או מחיקה.
סוגי הנתונים
פלטפורמת הבריאות כוללת מגוון רחב של סוגי נתונים שנמצאים בשימוש נפוץ באפליקציות בריאות וכושר. הנתונים שמאוחסנים בסוגי הנתונים הזמינים מספקים למשתמשים תצוגה מקיפה של נתוני הבריאות, הכושר והרווחה שלהם לאורך זמן, ומאפשרים להם לקבל תובנות לגבי הפעילויות היומיומיות שלהם.
כל סוג נתונים מוגדר על ידי פורמט הנתונים שלו, שכולל את הפרטים הבאים:
- שדות: שדות ספציפיים או כלליים שמשויכים לסוג הנתונים. לדוגמה, לסוג הנתונים של רמת החמצן בדם (סטורציה) יש שדות כמו 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 פיתוח נייטיב ב-Wear OS