انواع داده های سفارشی

اگر برنامه شما نیاز به گرفتن اطلاعاتی دارد که قبلاً توسط یکی از انواع داده های موجود در پلت فرم 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 هستند. برای گرفتن داده های سفارشی، باید یک منبع داده ایجاد کنید و سپس نوع داده را مشخص کنید:

  1. برای ایجاد یک منبع داده جدید ، REST API را فراخوانی کنید. به عنوان مثال، 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 برای افزودن داده استفاده کنید.

استفاده از انواع داده های سفارشی

اندروید

با استفاده از روش 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، منبع داده ای را که برای نوع داده سفارشی خود ایجاد کرده اید، مشخص کنید.