يمكن لتطبيقك تسجيل بيانات الجلوكوز في الدم عن طريق الكتابة إلى نوع البيانات
com.google.blood_glucose. في نوع البيانات هذا، تمثّل كل نقطة بيانات قراءة واحدة فورية لمستوى الجلوكوز في الدم. تحتوي نقطة البيانات على حقول لتركيز الجلوكوز في الدم، والعلاقات المؤقتة بوجبات الطعام والنوم، ومصدر العينة التي تم قياسها. جميع الحقول اختيارية باستثناء تركيز الجلوكوز في الدم.
- يتم قياس تركيز الجلوكوز في الدم بوحدة mmol/L (1 mmol/L يعادل 18 mg/dL).
- إذا تم تحديد العلاقة المؤقتة بوجبة الطعام، يجب أن تكون إحدى القيم المدرَجة
في
FIELD_TEMPORAL_RELATION_TO_MEAL. - يجب أن يكون نوع الوجبة إحدى القيم المدرَجة في
FIELD_MEAL_TYPE. إذا لم يكن نوع الوجبة معروفًا، استخدِمMEAL_TYPE_UNKNOWN. - إذا تم تحديد العلاقة المؤقتة بالنوم، يجب أن تكون إحدى القيم المدرَجة في
FIELD_TEMPORAL_RELATION_TO_SLEEP. - إذا تم تحديد مصدر عينة الجلوكوز في الدم، يجب أن يكون إحدى القيم
المدرَجة في
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE.
إنشاء مصدر بيانات
Android
لكتابة نقطة بيانات الجلوكوز في الدم، أنشئ DataSource
من TYPE_BLOOD_GLUCOSE،
كما هو موضّح في المثال التالي:
val bloodGlucoseSource = DataSource.Builder()
.setDataType(TYPE_BLOOD_GLUCOSE)
// ...
.build()
REST
لكتابة نقطة بيانات الجلوكوز في الدم، أنشئ مصدر بيانات جديدًا.
طريقة HTTP
POST
عنوان URL للطلب
https://www.googleapis.com/fitness/v1/users/me/dataSources
نص الطلب
{
"dataStreamName": "BloodGlucose",
"type": "raw",
"application": {
"detailsUrl": "http://example.com",
"name": "My Example App",
"version": "1"
},
"dataType": {
"name": "com.google.blood_glucose"
}
}
الردّ
إذا تم إنشاء مصدر البيانات بنجاح، تكون الاستجابة رمز الحالة 200 OK. يحتوي نص الاستجابة على تمثيل JSON لمصدر البيانات، بما في ذلك السمة datasource.dataStreamId التي يمكنك استخدامها كمعرّف مصدر البيانات للطلبات اللاحقة.
أمر CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \ --header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-ds.json \ https://www.googleapis.com/fitness/v1/users/me/dataSources
إضافة البيانات
Android
لإضافة بيانات إلى المصدر الذي تم إنشاؤه أعلاه، أنشئ نقطة بيانات لمصدر البيانات هذا، ويمكن إدراجها باستخدام History API:
val bloodGlucose = DataPoint.builder(bloodGlucoseSource)
.setTimestamp(timestamp, TimeUnit.MILLISECONDS)
.setField(FIELD_BLOOD_GLUCOSE_LEVEL, 5.0f) // 90 mg/dL
.setField(FIELD_TEMPORAL_RELATION_TO_MEAL, FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL)
.setField(FIELD_MEAL_TYPE, MEAL_TYPE_BREAKFAST)
.setField(FIELD_TEMPORAL_RELATION_TO_SLEEP, TEMPORAL_RELATION_TO_SLEEP_ON_WAKING)
.setField(FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE, BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD)
.build()
REST
يوضّح هذا المثال كيفية إضافة بيانات الجلوكوز في الدم باستخدام الـ بيانات المصدر التي تم إنشاؤها أعلاه.
طريقة HTTP
PATCH
عنوان URL للطلب
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000
نص الطلب
لتوضيح الأمر، تم وضع تعليقات على نص JSON الموضّح أدناه لإظهار استخدام ثوابت الحقول الصحية. على الرغم من أنّ Fit API سيتجاهل التعليقات حاليًا، ننصحك بشدة بإزالتها من الرمز، لأنّ JSON لا يتيح التعليقات رسميًا.
{
"minStartTimeNs": 1574159699023000000,
"maxEndTimeNs": 1574159699023000000,
"dataSourceId": "datasource.dataStreamId",
"point": [
{
"startTimeNanos": 1574159699023000000,
"endTimeNanos": 1574159699023000000,
"dataTypeName": "com.google.blood_glucose",
"value": [
{
// Blood glucose level, 90 mg/dL
"fpVal": 5.0
},
{
// FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL
"intVal": 3
},
{
// MEAL_TYPE_BREAKFAST
"intVal": 1
},
{
// TEMPORAL_RELATION_TO_SLEEP_ON_WAKING
"intVal": 3
},
{
// BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD
"intVal": 2
}
]
}
]
}الردّ
إذا تمت إضافة بيانات الجلوكوز في الدم بنجاح، تكون الاستجابة رمز الحالة 200 OK. يحتوي نص الاستجابة على تمثيل JSON لبيانات الجلوكوز في الدم التي تمت إضافتها.
أمر CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request PATCH \
--header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-data.json \
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000