סוגי נתונים

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

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

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

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

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

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

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

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

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

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

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

Android

ב-Android, סוגי הנתונים מוגדרים כשדות ציבוריים של DataType בכיתה. הדרך שבה תפעילו את ממשקי ה-API של Fitbit עם סוג הנתונים תלויה במה שאתם רוצים להשיג:

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

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

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