אם האפליקציה צריכה לתעד מידע שלא נכלל עדיין על ידי אחד הקיימים בפלטפורמת 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. לצילום בהתאמה אישית, עליכם ליצור מקור נתונים ולאחר מכן לציין את סוג הנתונים:
- קוראים ל-API ל-REST כדי ליצור מקור נתונים חדש. לדוגמה,
FlexibilityMeasure
. נותנים לסוג הנתונים שם ייחודי שמייצג בצורה מדויקת את הנתונים שהוא אוסף.
מציינים את השדות של סוג הנתונים ואת הפורמטים שלהם.
שיטת 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.