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

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

יצירת סוגי נתונים מותאמים אישית

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

  • שם סוג הנתונים מייצג במדויק את הנתונים הבסיסיים.
  • הקידומת של שם סוג הנתונים תואמת לשם החבילה של האפליקציה.

Android

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

val request = DataTypeCreateRequest.Builder()
    // The prefix of your data type name must match your app's package name
    .setName("com.packagename.appname.custom_data_type") // Add some custom fields, both int and float
    .addField("field1", Field.FORMAT_INT32)
    .addField("field2", Field.FORMAT_FLOAT)
    // Add some common fields
    .addField(Field.FIELD_ACTIVITY)
    .build()

Fitness.getConfigClient(this, account)
    .createCustomDataType(request)
    .addOnSuccessListener { dataType ->
        // Use this custom data type to insert data into your app.
        Log.d(TAG, "Created data type: ${dataType.name}")
    }

REST

סוגי נתונים הם נכס של מקורות נתונים, ב-API ל-REST. כדי לתעד נתונים מותאמים אישית, צריך ליצור מקור נתונים ואז לציין את סוג הנתונים:

  1. יש להתקשר ל-API ל-REST כדי ליצור מקור נתונים חדש. לדוגמה: FlexibilityMeasure.
  2. נותנים לסוג הנתונים שם ייחודי, שמייצג בצורה טובה יותר את הנתונים שתועדו.

  3. מציינים את השדות של סוג הנתונים ואת הפורמטים שלהם.

שיטת HTTP

POST

כתובת URL לבקשה

https://www.googleapis.com/fitness/v1/users/me/dataSources

גוף הבקשה

{
  "dataStreamName": "FlexibilityMeasure",
  "type": "raw",
  "application": {
    "detailsUrl": "http://recoveryapps.com",
    "name": "Stretch Flex",
    "version": "1"
  },
  "dataType": {
    "name": "com.recoveryapps.stretchflex.flexibility",
    "field": [
     {
      "name": "ankle_range_degrees",
      "format": "integer"
     },
     {
      "name": "wrist_range_degrees",
      "format": "integer",
      "optional": true
     }
    ]
   }
}

תגובה

אם מקור הנתונים נוצר, תקבלו קוד סטטוס 200 OK עבור תגובת HTTP. גוף התגובה מכיל ייצוג JSON של מקור הנתונים, כולל נכס datasource.dataStreamId. השתמשו במזהה הזה בתור dataSourceId כדי להוסיף נתונים.

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

Android

ממירים את השם של סוג הנתונים המותאם אישית ממחרוזת (com.packagename.appname.custom_data_type) לאובייקט DataType בשיטה ConfigClient.readDataType. משתמשים באובייקט שמוחזר כדי להוסיף ולקרוא נתונים מותאמים אישית.

Fitness.getConfigClient(this, account)
    .readDataType("com.packagename.appname.custom_data_type")
    .addOnSuccessListener { dataType ->
        // Use this custom data type to insert data into your app.
        Log.d(TAG, "Retrieved data type: ${dataType.name}")
    }

REST

כדי להוסיף או לקרוא נתונים מותאמים אישית באמצעות סוגי הנתונים המותאמים אישית, אתם צריכים מקורות נתונים. כדי לבדוק את מקורות הנתונים של סוג נתונים מותאם אישית, יש לשלוח בקשה ב-GET ל-API ל-REST.

הוספת נתונים מותאמים אישית

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

קריאת נתונים מותאמים אישית

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