أنواع البيانات المخصّصة

إذا كان تطبيقك بحاجة إلى جمع معلومات غير مشمولة بأحد أنواع البيانات الحالية على منصة Google Fit، يمكنك إنشاء نوع بيانات مخصّص.

إنشاء أنواع بيانات مخصّصة

يمكنك إنشاء نوع بيانات مخصّص أو تحديده لجمع بيانات مخصّصة. عند إنشاء أنواع بيانات مخصّصة، تأكَّد مما يلي:

  • يمثّل اسم نوع البيانات البيانات الأساسية بدقة.
  • يتطابق بادئة اسم نوع البيانات مع اسم حزمة تطبيقك.

Android

لإنشاء نوع بيانات مخصّص لأول مرة، استخدِم الـ 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

في 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
     }
    ]
   }
}

الردّ

إذا تم إنشاء مصدر البيانات بنجاح، سيظهر لك 200 OK HTTP رمز حالة استجابة. يحتوي نص الاستجابة على تمثيل JSON لمصدر البيانات، بما في ذلك السمة datasource.dataStreamId. استخدِم هذا المعرّف كـ dataSourceId لإضافة البيانات.

استخدام أنواع البيانات المخصّصة

Android

يمكنك تحويل اسم نوع البيانات المخصّص من سلسلة (com.packagename.appname.custom_data_type) إلى عنصر DataType باستخدام طريقة ConfigClient.readDataType. استخدِم العنصر الذي تم عرضه لـ إدراج وقراءة البيانات المخصّصة.

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 طلب إلى REST API.

إضافة بيانات مخصّصة

لإدراج بيانات مخصّصة، أنشِئ مجموعة بيانات تتضمّن نقاط بيانات جديدة. حدِّد مصدر البيانات الذي أنشأته لنوع البيانات المخصّص. يجب أن تتضمّن نقاط البيانات جميع الحقول والتنسيقات الصحيحة المحدّدة في نوع البيانات المخصّص.

قراءة البيانات المخصّصة

لقراءة البيانات المخصّصة، حدِّد مصدر البيانات الذي أنشأته لنوع البيانات المخصّص عند استرداد نقاط البيانات من منصة Google Fit.