סוגי נתונים

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

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

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

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

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

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

ב-Google Fit קיימים סוגי נתונים:

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

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

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

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

Android

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

  • כדי להקליט נתונים, אפשר להשתמש ב-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.