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

אם האפליקציה שלכם צריכה לתעד מידע שלא נכלל באחד מסוגי הנתונים הקיימים בפלטפורמת 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
     }
    ]
   }
}

תשובה

אם מקור הנתונים נוצר בהצלחה, תקבלו קוד סטטוס של תגובת HTTP‏ 200 OK. גוף התגובה מכיל ייצוג 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.