اگر برنامه شما نیاز به گرفتن اطلاعاتی دارد که قبلاً توسط یکی از انواع داده های موجود در پلت فرم Google Fit پوشش داده نشده است، می توانید یک نوع داده سفارشی ایجاد کنید.
ایجاد انواع داده های سفارشی
یک نوع داده سفارشی برای گرفتن داده های سفارشی ایجاد یا مشخص کنید. هنگامی که انواع داده های سفارشی ایجاد می کنید، مطمئن شوید:
- نام نوع داده به طور دقیق نشان دهنده داده های اساسی است.
پیشوند نام نوع داده با نام بسته برنامه شما مطابقت دارد.
اندروید
برای ایجاد یک نوع داده سفارشی برای اولین بار، از روش 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 API را فراخوانی کنید. به عنوان مثال،
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
برای افزودن داده استفاده کنید.
استفاده از انواع داده های سفارشی
اندروید
با استفاده از روش ConfigClient.readDataType
نام نوع داده سفارشی خود را از یک رشته (com.packagename.appname.custom_data_type) به یک شی DataType
تبدیل کنید. از شی برگشتی برای درج و خواندن داده های سفارشی استفاده کنید.
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}")
}
استراحت
برای افزودن یا خواندن داده های سفارشی با استفاده از انواع داده های سفارشی خود، به منابع داده آنها نیاز دارید. برای بررسی منابع داده یک نوع داده سفارشی، یک درخواست GET
به REST API ارسال کنید .
افزودن داده های سفارشی
برای درج داده های سفارشی، یک مجموعه داده با نقاط داده جدید ایجاد کنید. منبع داده ای را که برای نوع داده سفارشی خود ایجاد کرده اید مشخص کنید. نقاط داده باید دارای تمام فیلدها و قالب های صحیح مشخص شده در نوع داده سفارشی شما باشند.
خواندن داده های سفارشی
برای خواندن داده های سفارشی، هنگام بازیابی نقاط داده از پلت فرم Google Fit، منبع داده ای را که برای نوع داده سفارشی خود ایجاد کرده اید، مشخص کنید.