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

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

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

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

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

Android

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

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. משתמשים באובייקט שמוחזר כדי insert ולקרוא נתונים מותאמים אישית.

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.