אפליקציית Health Connect מאחסנת ומארגנת את נתוני הבריאות והכושר. הוא גם מתייחס לאופן שבו סוגים שונים של נתונים נמדדים. סוגי הנתונים האלה כוללים מדידות של דופק שנלקחות באופן מיידי, מספר צעדים שנאסף לאורך זמן ונתוני שינה שנאספים בסשנים.
חשוב להבין קודם מהם סוגי הנתונים וההרשאות ש-Health Connect מציע, כדי שתוכלו לתכנן את הדרישות של האפליקציה. לכן, עליכם לבדוק את סוגי הנתונים לפני שתוכלו לסיים את הגדרת הדרישות.
קטגוריות של סוגי נתונים
כדי לספק מגוון רחב ככל האפשר, Health Connect תומכת בסוגי נתונים שמשמשים ברוב האפליקציות לבריאות ולכושר. מטרת Health Connect היא לספק תצוגה מקיפה של נתוני הבריאות והכושר ואחסון שלהם. סוגי הנתונים האלה מתחלקים לקטגוריות הבאות:
- פעילות: הנתון הזה מתעד כל פעילות שמשתמש מבצע. היא יכולה לכלול פעילויות בריאות ופנאי כמו ריצה ושחייה.
- מדידת גוף: הנתונים האלה מתעדים נתונים נפוצים שקשורים לגוף, כמו המשקל של המשתמש וקצב חילוף החומרים הבסיסי שלו.
- מעקב אחר המחזור: המערכת מתעדת מחזורי וסת ונקודות נתונים קשורות, כמו התוצאה הבינארית של בדיקת ביוץ.
- תזונה: כאן מתועדים סוגי הנתונים 'מאזן הנוזלים' ו'תזונה'. המדד הראשון מייצג את כמות המים שמשתמש צורך בתוך משקה אחד. השדה השני כולל שדות אופציונליים כמו קלוריות, סוכר ומגנזיום.
- שינה: הנתונים האלה מתעדים נתוני מרווח זמן שקשורים למשך ולסוג השינה של המשתמש.
- נתונים חיוניים: כאן מתועד מידע חיוני על המצב הבריאותי הכללי של המשתמש. הוא כולל נתונים כמו טמפרטורת הגוף, רמת הסוכר בדם, לחץ הדם ורמת החמצן בדם.
פורמט של סוג נתונים
סוגי הנתונים ב-Health Connect מאוחסנים באובייקטים שהם קבוצות משנה של Record
.
לכל סוג נתונים יש שדות משויכים, שיכולים להיות כלליים כמו time
ו-zoneOffset
, או ספציפיים כמו title
, count
ו-percentage
.
בשדות מסוימים נעשה שימוש בסוגי נתונים פשוטים, כמו long, double או string, ובשדות אחרים נעשה שימוש בסוגי נתונים מורכבים כמו ספירה וסוגי נתונים כמו Instant
ו-ZoneOffset
. המאפיינים של השדות האלה יכולים להיות חובה או אופציונליים. חלק מהמאפיינים הם לקריאה בלבד, וחלק מהמאפיינים מוגבלים לטווח ערכים ספציפי.
רשימה מלאה של סוגי הנתונים הזמינים והשדות שלהם מופיעה בכיתות ב-Jetpack.
מאפייני נתונים נוספים
הנתונים ב-Health Connect API כוללים גם מאפייני מטא-נתונים שמפורטים ברשימה הבאה:
- מזהה Health Connect: לכל נקודה של נתונים מוקצה מזהה ייחודי (UID) בזמן היצירה. האפשרות הזו שימושית לפעולות קריאה וכתיבה רגילות. פרטים נוספים זמינים במאמר Health Connect ID.
- Last modified time: חותמת הזמן של המצב האחרון של הרשומה. הוא נוצר באופן אוטומטי ביצירה הראשונה של הרשומה או בכל עדכון.
- מקור הנתונים: ב-Health Connect מאוחסן מידע על האפליקציה שממנה הגיעו הנתונים. הוא מכיל את שם החבילה של המקור הזה, שמתווסף באופן אוטומטי בזמן היצירה.
- מכשיר: ב-Health Connect מאוחסן מידע על המכשיר שממנו הגיעו הנתונים. הוא מכיל את היצרן והדגם של המכשיר, ואתם צריכים לספק את הערך באופן ידני.
- מזהה לקוח: Health Connect מספק מזהי לקוח כדי שאפליקציות לקוח יוכלו להפנות לנתונים באמצעות המזהים שלהן. כך קל יותר לפתור בעיות של התנגשויות בנתונים ולבצע סנכרון. הנתון הזה מסופק לרשומה באופן ידני.
- גרסת רשומת הלקוח: בנוסף למזהה הלקוח, מערכת Health Connect מספקת ניהול גרסאות כדי לעזור במעקב אחרי שינויים במהלך סנכרון הנתונים. הוא מסופק לרשומה באופן ידני.
- שיטת ההקלטה: Health Connect מאפשרת לכם להבין איך הנתונים מתועדים. השיטות האלה כוללות אפליקציות שמתעדות נתונים באופן פסיבי (אוטומטי), ומשתמשים שמתעדים נתונים באופן פעיל או ידני.
מזהה Health Connect
מערכת Health Connect מקצה מזהי ייחודיים (UID) לאובייקטים של נתונים חדשים שמוסיפים, שמזהים אותם ומבדילים אותם מאובייקטים אחרים. מזהי Health Connect שימושיים בבקשות קריאה או כתיבה. מזהי Health Connect שונים ממזהי לקוחות. אפליקציית לקוח מקצה מזהי לקוח, בעוד ש-Health Connect מקצה אך ורק מזהי Health Connect.
חשוב לזכור את ההערות הבאות כשעובדים עם מזהי Health Connect:
- לסשנים יש מזהה Health Connect אחד, אבל לנתונים בתוך הסשנים יש מזהי Health Connect משלהם.
- המזהים של Health Connect לא קשורים לחותמות זמן.
- בתרחישי שימוש מסוימים, יכול להיות שתצטרכו לאחסן מזהה Health Connect ספציפי במהלך תהליך עבודה. לדוגמה, מזהה ספציפי נדרש כדי לאחזר ולהציג למשתמש את הנתונים שהזין ביומן.
זמן ב-Health Connect
כל הנתונים שנכתבים ב-Health Connect חייבים לציין את פרטי ההיסט של האזור. ציון הפרש השעון מאפשר לאפליקציות לקרוא את הנתונים ולהציג אותם לפי שעון אזרחי. הזמן האזרחי הוא הזמן המקומי שרלוונטי למשתמש, אבל לא בהכרח לפי זמן אוניברסלי מותאם (UTC).
במקרים נדירים, יכול להיות שההיסט של האזור לא יהיה זמין. כשזה קורה ב-Android 14 (API ברמה 34), מערכת Health Connect מגדירה את הפרש השעות לפי אזור הזמן שמוגדר כברירת מחדל במערכת של המכשיר. ב-Android 13 ובגרסאות ישנות יותר (רמת API 33 ומטה), אפשר לכתוב ל-Health Connect בלי לציין מידע על היסט של תחום, וצריך להימנע מכך במידת האפשר.
הגדרת השעה ואזור הזמן
ציון פרטי ההיסט של האזור בזמן כתיבת הנתונים מספק מידע על אזור הזמן בזמן קריאת הנתונים ב-Health Connect. עם זאת, יכול להיות שהיא לא תצליח לעשות זאת במצבים מסוימים, למשל אם לא צוין הפרש האזורים. האפליקציה צריכה להיות מוכנה לטפל בשני סוגי הנתונים, באופן שמתאים לנסיבות הספציפיות שלכם.
הרשאות
לפני שמבקשים הרשאות, צריך להצהיר עליהן קודם במניפסט של האפליקציה. בטבלאות הבאות מופיע המיפוי המלא של סוגי הנתונים וההרשאות שלהם.
מגרסה 1.0.0-alpha10 ואילך
סוג סיווג הרשומה | הצהרת הרשאות לקריאה וכתיבה |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
BodyFat |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
מרחק |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
גובה |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
הידרציה |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
תזונה |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
PlannedExercise |
android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE |
Power |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SkinTemperature |
androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
מהירות |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
שלבים |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
VO2Max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
משקל |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
בגרסה 1.0.0-alpha09 ומטה
סוג סיווג הרשומה | הצהרת הרשאות לקריאה וכתיבה |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
מרחק |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
גובה |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
הידרציה |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
תזונה |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Power |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
מהירות |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
שלבים |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
VO2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
משקל |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
בדיקת סוגי הנתונים וההרשאות
עכשיו, אחרי שתכננתם את סוגי הנתונים וההרשאות, תוכלו להטמיע אותם במהלך הפיתוח.
כשבודקים את האפליקציה לפני ההעלאה שלה ל-Play Store, חשוב לבדוק שוב את רשימת סוגי הנתונים וההרשאות שנדרשים לאפליקציה. כך תוכלו להצהיר בצורה מדויקת על השימוש בנתונים באפליקציה.
כשאתם מתכוננים לפרסם את האפליקציה ב-Play Store, עליכם להצהיר על הגישה לסוגי הנתונים של Health Connect שבהם האפליקציה משתמשת. אחרת, יכול להיות שהמשתמשים יקבלו הודעת שגיאה על כך שהאפליקציה לא יכולה לגשת לסוגי הנתונים של Health Connect כי נדרשת אישור מיוחד.