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

קובצי גרסאות
הגרסה 1 של Health Platform כוללת את הרכיבים הבאים:
- Client SDK: צריך לכלול את ערכת ה-SDK הזו באפליקציה כדי להשתמש ב-Health Platform API. ה-SDK הוא מאגר Maven שאפשר לכלול אותו ישירות בקובצי ה-build של האפליקציה ב-Gradle.
התקנת Health Platform
כדי להתקין את Health Platform:
בקובץ 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 שומרת ומארגנת נתוני בריאות וכושר. הוא גם מתייחס להבדלים מהותיים בין האופן שבו נמדדים נתונים מסוגים שונים. לדוגמה, מדידת קצב הלב מתבצעת באופן מיידי, אבל ספירת הצעדים מתבצעת לאורך תקופה מסוימת.
ריכזנו כאן את האובייקטים המרכזיים בפלטפורמת Health וההבדלים ביניהם:
RawData
: רשומת מדידה ונתונים.DataType
: ספציפי לסוגים נפוצים של נתוני בריאות וכושר, כמו קצב הלב, אחוז השומן בגוף או טמפרטורת הגוף, וכן לפורמטים שלהם, כמו שדות, קריאה בלבד או אופציונליים.SampleData
: אובייקטRawData
שהוא מדידה מיידית, כמו קצב הלב, לחץ הדם או מהירות הריצה.IntervalData
: אובייקטRawData
שהוא מדידה מצטברת שנלקחה לאורך תקופה מסוימת, כמו מספר הצעדים, המרחק שעברתם או הקלוריות שנשרפו.SeriesData
: אובייקטRawData
שמכיל רצף של מדידות לאורך תקופת זמן.SeriesData
מתאים במיוחד לנתוני חיישנים בתדירות גבוהה, כמו דגימות רציפות של קצב הלב במהלך סשן פעילות.
כל אחת משלוש הכיתות RawData
תואמת לקבוצת משנה ספציפית של DataType
: SampleData
, IntervalData
ו-SeriesData
תואמות ל-SampleDataType
, IntervalDataType
ו-SeriesDataType
, בהתאמה.
כשכל אובייקט RawData
מוכנס, פלטפורמת Health מקצה לו מזהה ייחודי (UID). אפשר להשתמש במזהה ה-UID הזה כדי להפנות לאובייקט RawData
ספציפי בבקשות קריאה, עדכון או מחיקה.
סוגי הנתונים
פלטפורמת Health כוללת מגוון רחב של סוגי נתונים שנמצאים בשימוש נפוץ באפליקציות בריאות וכושר. הנתונים שמאוחסנים בסוגי הנתונים הזמינים מספקים למשתמשים תצוגה מקיפה של נתוני הבריאות, הכושר והרווחה ההיסטוריים שלהם, ומספקים תובנות לגבי הפעילויות היומיות שלהם.
כל סוג נתונים מוגדר לפי פורמט הנתונים שלו, שכולל את הפרטים הבאים:
- שדות: שדות ספציפיים או כלליים שמשויכים לסוג הנתונים. לדוגמה, לסוג הנתונים 'רמת החמצן בדם (SpO2)' יש שדות כמו 'שם', 'הערות' ו'אחוז'.
- סוג: long, double, string או enum.
- מאפיין: לקריאה בלבד, נדרש, אופציונלי או טווח אימות.
רשימה של סוגי נתונים
כדי להפיק את המקסימום מפלטפורמת Health, חשוב להבין את סוגי הנתונים הזמינים. פלטפורמת Health תומכת בסוגי הנתונים שמפורטים בטבלה הבאה. סוגי הנתונים מאורגנים לפי הפורמט שלהם: דגימה, מרווח זמן או סדרה.
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:
- משתמשים ב-
HealthDataService.getClient
כדי ליצור מכונותHealthDataClient
חדשות. - לאחר מכן, אפליקציית הלקוח צריכה לבקש מהמשתמש הרשאה באמצעות השיטה
requestPermissions (Set)
.
HealthDataClient
מנהל באופן אוטומטי את החיבור לשכבת האחסון הבסיסית, ומטפל בכל התקשורת בין תהליכים (IPC) ובסריאליזציה של בקשות יוצאות ותשובות נכנסות.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- נתונים ותרגילים פעילים
- עדכוני נתונים פסיביים
- שימוש ב-Jetpack Compose ב-Wear OS