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

اگر برنامه شما نیاز به ثبت اطلاعاتی دارد که از قبل توسط یکی از انواع داده‌های موجود در پلتفرم 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. برای ایجاد یک منبع داده جدید ، مثلاً FlexibilityMeasure ، از REST API استفاده کنید.
  2. به نوع داده یک نام منحصر به فرد بدهید، که دقیقاً نشان‌دهنده‌ی داده‌هایی باشد که آن نوع داده ثبت می‌کند.

  3. فیلدهای نوع داده و قالب‌های آنها را مشخص کنید.

روش HTTP

POST

درخواست آدرس اینترنتی

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