סוגי נתונים

‫Google Fit מספקת קבוצה של סוגי נתונים של בריאות ורווחה במרחב השמות com.google.

סוגי הנתונים מגדירים את הפורמט של הערכים בתוך הנקודות על הגרף. נקודת נתונים יכולה לייצג:

  • קריאה או תצפית מיידית
  • נתונים מצטברים עם נתונים סטטיסטיים על פרק זמן מסוים

ב-Google Fit מוגדרים סוגי נתונים לתצפיות מיידיות וסוגי נתונים לנתונים מצטברים. נקודות נתונים מורכבות מערכים של השדות של סוג נתונים ומידע על חותמת זמן. נקודות שמייצגות תצפיות מיידיות כוללות חותמת זמן, ונקודות של סוג נתונים מצטבר כוללות גם את שעת ההתחלה של המרווח.

ב-Google Fit אפשר גם להגדיר סוגי נתונים חדשים.

קבוצות של סוגי נתונים

אלה סוגי הנתונים ב-Google Fit:

סוגי נתונים גלויים לכולם
סוגי נתונים רגילים שסופקו על ידי הפלטפורמה כוללים את התחילית com.google. לדוגמה, com.google.step_count.delta. סוגי הנתונים האלה מתעדים קריאות מיידיות של נתוני בריאות ואיכות חיים, כולל פעילות גופנית, שינה ותזונה. כל אפליקציה יכולה לבקש את ההרשאות הרלוונטיות לקריאה ולכתיבה של סוגי הנתונים האלה, למעט כמה סוגים של נתוני מיקום שאפשר לקרוא רק באפליקציה שכתבה אותם.

מידע נוסף זמין בדפים הבאים:

סוגי נתוני בריאות
סוגי נתונים שסופקו על ידי הפלטפורמה, שהגישה אליהם מוגבלת בגלל נתונים רגישים פוטנציאליים. מידע נוסף זמין במאמר בנושא סוגי נתונים של בריאות.
סוגים של נתונים מצטברים
סוגי נתונים לקריאת מידע על בריאות ורווחה שמצטבר לפי זמן או לפי סוג פעילות. מידע נוסף זמין במאמר סוגי נתונים מצטברים.
סוגים פרטיים של נתונים בהתאמה אישית
סוגי נתונים בהתאמה אישית שמוגדרים על ידי אפליקציה ספציפית. רק האפליקציה שמגדירה את סוג הנתונים יכולה לקרוא ולכתוב נתונים מהסוג הזה. מידע נוסף זמין במאמר בנושא סוגי נתונים בהתאמה אישית.

שימוש בסוגי נתונים

Android

ב-Android, סוגי הנתונים מוגדרים כשדות ציבוריים של המחלקה DataType. האופן שבו מפעילים את Fitness APIs עם סוג הנתונים תלוי במטרה שלכם:

  • כדי לתעד נתונים, משתמשים ב-Recording API כדי ליצור מינוי לכל סוג נתונים שרוצים לתעד.
  • כדי לקרוא נתונים, משתמשים ב-History API כדי לשלוח בקשת קריאה לכל סוג נתונים.
  • כדי להוסיף נתונים היסטוריים מהעבר, משתמשים ב-History API כדי לשלוח בקשת הוספה לכל סוג נתונים.
  • כדי ליצור סשנים, משתמשים ב-Sessions API כדי להוסיף או לתעד נתונים עם מטא-נתונים של סשנים.

כדי ליצור נקודות נתונים לאובייקט DataType מיידי, צריך להקצות ערכים בפורמט הנכון. בדוגמה הבאה מוצג אופן ההקצאה של פריט מזון כמחרוזת, של סוג הארוחה כקבוע מהמחלקה Field ושל תכולת רכיבי התזונה כערכי float ממופים.

val nutritionSource = DataSource.Builder()
    .setDataType(DataType.TYPE_NUTRITION)
    ...
    .build()

val nutrients = mapOf(
    Field.NUTRIENT_TOTAL_FAT to 0.4f,
    Field.NUTRIENT_SODIUM to 1f,
    Field.NUTRIENT_POTASSIUM to 422f
)
val banana = DataPoint.builder(nutritionSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_FOOD_ITEM, "banana")
    .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK)
    .setField(Field.FIELD_NUTRIENTS, nutrients)
    .build()

אחרי שמגדירים נקודות נתונים באפליקציה, אפשר להוסיף, לקרוא או למחוק נתונים היסטוריים באמצעות History API.

REST

המשאב dataSources כולל את סוג הנתונים (ורשימה של השדות שלו) של כל מקור נתונים. כשיוצרים מקורות נתונים, אפשר לציין אחד מסוגי הנתונים האלה. כשמאחזרים מקור נתונים ממאגר הכושר, אפשר לקבל את השם של סוג הנתונים ואת רשימת השדות שלו.

לדוגמה, ייצוג של מקור נתונים מציין את סוג הנתונים שלו באופן הבא:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

היקפי הרשאות

היקפי ההרשאות כוללים קבוצות של סוגי נתונים שמשתמש יכול לאשר לאפליקציה לגשת אליהם. ההסברים האלה עוזרים למשתמשים להבין לאילו סוגי נתונים האפליקציה רוצה לגשת. בנוסף, הם מאפשרים לאשר לאפליקציות להשתמש בנתונים האלה בלי לאשר כל סוג נתונים בנפרד. המשתמשים מעניקים את ההרשאות האלה אחרי שהם מורידים את האפליקציה.

דוגמה למסך ההסכמה להיקפי ההרשאות של OAuth
איור 2. מסך ההסכמה של היקפי ההרשאות של OAuth.

אחרי שבודקים את האפליקציה עם מספר קטן של משתמשים, לפני שמשיקים אותה צריך לבקש אימות על סמך היקפי ההרשאות שרלוונטיים לסוגי הנתונים האלה. כדאי לעיין בדפים בנושא סוגי נתונים שמקושרים למעלה כדי להבין אילו היקפים חלים על כל סוג נתונים.

לדוגמה, אם האפליקציה צריכה לקרוא ולכתוב את לחץ הדם, היא צריכה להצהיר שהיא מבצעת גם קריאה וגם כתיבה ולבקש את שתי ההרשאות. אם האפליקציה רק כותבת נתוני לחץ דם לפלטפורמת Google Fit, היא צריכה לבקש רק את היקף ההרשאה לכתיבה.

חשוב לבחור את סוגי הנתונים באחריות. אל תבקשו כל סוג נתונים למקרה שהאפליקציה שלכם תזדקק לו. הסוגים שצוינו קובעים לאילו היקפים המשתמש יתבקש לתת הרשאה. כדאי לבקש רק את סוגי הנתונים שהאפליקציה צריכה, כדי שהמשתמשים יאשרו את הגישה. המשתמשים נוטים יותר להעניק גישה להיקפים מוגבלים ומתוארים בבירור.

אתם יכולים להיעזר בטבלה הזו כדי לבדוק אם ההיקפים שאפליקציה צריכה לגשת אליהם הם רגישים או מוגבלים (מה שקובע את שלבי האימות שתצטרכו לבצע):

היקף תיאור קטגוריה
https://www.googleapis.com/auth/fitness.activity.read קריאת נתוני פעילות מהפלטפורמה של Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.activity.write כתיבת נתוני פעילות בפלטפורמת Google Fit הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.blood_glucose.read קריאת נתוני סוכר בדם מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.blood_glucose.write כתיבה של נתוני רמת סוכר בדם בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.blood_pressure.read קריאת נתוני לחץ דם מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.blood_pressure.write כתיבה של נתוני לחץ הדם בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.body.read קריאת נתונים של מדדים גופניים (גובה, משקל, אחוז השומן בגוף) מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.body.write כתיבת נתוני מדידות גופניות בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.body_temperature.read קריאת נתוני חום גוף מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.body_temperature.write כתיבת נתוני חום גוף בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.heart_rate.read קריאת נתוני דופק מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.heart_rate.write כתיבת נתוני הדופק בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.location.read קריאת נתוני מיקום מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.location.write כתיבת נתוני מיקום בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.nutrition.read קריאת נתוני תזונה מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.nutrition.write כתיבת נתוני תזונה בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.oxygen_saturation.read קריאת נתוני רמת החמצן בדם מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.oxygen_saturation.write כתיבת נתוני רוויית חמצן בדם בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.reproductive_health.read קריאת נתוני מחזור חודשי מהפלטפורמה של Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.reproductive_health.write כתיבת נתוני פוריות בפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.sleep.read קריאת נתוני שינה מפלטפורמת Google Fit. הצפייה מוגבלת
https://www.googleapis.com/auth/fitness.sleep.write כתיבת נתוני שינה לפלטפורמת Google Fit. הצפייה מוגבלת

הוספת היקפים חדשים לאפליקציה קיימת

כשמעדכנים את האפליקציה כדי לבקש היקף חדש (לדוגמה, אם מוסיפים את היקפי השינה או הדופק החדשים, או מוסיפים היקף קריאה), המשתמשים יקבלו הודעה שהאפליקציה מבקשת גישה להיקפים האלה, והם יוכלו לבחור אם לאשר או לדחות את הגישה.

השיטה המומלצת היא לבקש הרשאה מהמשתמשים למשאבים בזמן שאתם צריכים אותם. פועלים לפי ההנחיות בנושא בקשת אישור מצטבר.

המשתמשים יאשרו את הגישה אם הם יבינו למה האפליקציה שלכם משתמשת בנתונים האלה ואיך היא משתמשת בהם:

  • מומלץ להוסיף מסך שמזהיר את המשתמשים או מודיע להם שתידרש מהם הסכמה להיקפי ההרשאות האלה.
  • צריך להסביר בצורה ברורה למה האפליקציה מבקשת גישה להיקפי ההרשאות או לנתונים האלה, כדי שהמשתמשים יוכלו לקבל החלטה מושכלת.

מידע נוסף על שיטות מומלצות בנושא הרשאות שניתנות לאפליקציה ל-Android