أنواع بيانات Google Health API

يحتوي الجدول التالي على القائمة الكاملة بأنواع البيانات، مع عدّة أعمدة لمساعدتك في فهم طريقة عرض كل نوع في Google Health API، بالإضافة إلى النطاق الذي يتوفّر كل نوع ضمنه.

حقول أنواع البيانات

يتضمّن جدول أنواع البيانات في Google Health API عدة أعمدة للحقول لمساعدتك في فهم طريقة عرض كل نوع من أنواع البيانات ومتطلباته. هذه الأعمدة هي كما يلي:

الجدول: أوصاف حقول أنواع البيانات في Google Health API
الحقل الوصف
dataType المعرّف المفصول بشرطات (على سبيل المثال، active-minutes) المستخدَم في عناوين URL لنقاط النهاية.
المَعلمة filter المعرّف مفصولًا بشرطات سفلية (على سبيل المثال، active_minutes) ويُستخدَم كقيمة لمَعلمة الفلتر dataType في طلبات التجميع اليومي والتجميع.
نوع السجلّ

تشير إلى بنية وتنسيق البيانات المسجّلة. في الخلفية، يتوافق ذلك مع تمثيل الموارد لنقاط البيانات. القيم المحتمَلة هي:

  • Interval (تمثّل القياسات المسجّلة على مدار مدة زمنية)
  • Sample (تمثّل القياسات الفورية).
  • Daily (تمثّل القياسات المجمّعة أو المسجّلة يوميًا).
  • Session (تمثّل هذه السمة مجموعة متواصلة من التسجيلات، مثل تمرين أو جلسة تخطيط كهربية القلب (ECG))
  • ‫Food (تمثّل هذه السمة طبقًا أو كيان بيانات مرتبطًا بالتغذية)
العمليات المتاحة تعرض هذه السمة طرق واجهة برمجة التطبيقات المتوافقة مع نوع البيانات (مثل list وcreate وrollUp).
المستوى نطاقات OAuth المطلوبة للوصول إلى نوع البيانات
التوافق مع الويب هوك تشير إلى أنّ نوع البيانات يتيح تلقّي إشعارات في الوقت الفعلي باستخدام خطافات الويب عند مزامنة بيانات جديدة.
إتاحة القيم الصفرية تشير إلى أنّ نوع البيانات يتيح تسجيل قيم صفرية صريحة للتفريق بين القيمة الصفرية النشطة (مثل صفر دقيقة نشاط) والبيانات غير المتوفّرة أو غير المسجّلة.
دقّة التخزين تمثّل هذه السمة الحدّ الأدنى لفاصل التسجيل أو أخذ العيّنات الذي يتم عنده تخزين نقاط البيانات (على سبيل المثال، دقيقة واحدة لسمة steps). بالنسبة إلى عمليات التجميع، تمثّل هذه السمة الحدّ الأدنى المقترَح windowSize لضمان التوزيع المتساوي للتجميع بدون عناصر فرعية لبيانات الفاصل الزمني.
الأجهزة المتوافقة قائمة قابلة للتوسيع بالأجهزة المادية التي يمكنها تسجيل نوع البيانات هذا ومزامنته مع Google Health API (باستخدام تطبيق Fitbit)

الجدول: أنواع البيانات في Google Health API
نوع البيانات العمليات
المتاحة
النطاق
السعرات الحرارية المحروقة أثناء النشاط البدني
نوع البيانات: active-energy-burned
معلَمة الفلتر: active_energy_burned
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
دقائق النشاط
نوع البيانات: active-minutes
معلَمة الفلتر: active_minutes
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة

الأجهزة المتوافقة

  • Fitbit Air
  • Fitbit Alta
  • Fitbit Alta HR
  • Fitbit Blaze
  • Fitbit Charge 2
  • Fitbit Charge 3
  • Fitbit Flex 2
  • Fitbit Inspire
  • ‫Fitbit Inspire HR
  • Pixel Watch 4
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
دقائق قسم النشاط
نوع البيانات: active-zone-minutes
معلَمة الفلتر: active_zone_minutes
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
مستوى النشاط
نوع البيانات: activity-level
معلَمة الفلتر: activity_level
نوع السجلّ: تمرين متناوب
قائمة، تسوية .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الارتفاع
نوع البيانات: altitude
معلَمة الفلتر: altitude
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الغلوكوز في الدم
نوع البيانات: blood-glucose
معلَمة الفلتر: blood_glucose
نوع السجلّ: عينة
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
نسبة الدهون في الجسم
نوع البيانات: body-fat
معلَمة الفلتر: body_fat
نوع السجلّ: عينة

الأجهزة المتوافقة

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
السعرات الحرارية المحروقة في نطاق معدّل نبضات القلب
نوع البيانات: calories-in-heart-rate-zone
معلَمة الفلتر: calories_in_heart_rate_zone
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة
rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
درجة حرارة الجسم الأساسية
نوع البيانات: core-body-temperature
معلَمة الفلتر: core_body_temperature
نوع السجلّ: عينة
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
تغيُّر معدّل نبضات القلب اليومي
نوع البيانات: daily-heart-rate-variability
معلَمة الفلتر: daily_heart_rate_variability
نوع السجلّ: يومي

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
مناطق معدّل نبضات القلب اليومية
نوع البيانات: daily-heart-rate-zones
معلَمة الفلتر: daily_heart_rate_zones
نوع السجلّ: يومي
قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
تشبّع الأكسجين في الدم يوميًا
نوع البيانات: daily-oxygen-saturation
معلَمة الفلتر: daily_oxygen_saturation
نوع السجلّ: يومي

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
معدّل التنفس اليومي
نوع البيانات: daily-respiratory-rate
معلَمة الفلتر: daily_respiratory_rate
نوع السجلّ: يومي

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
معدّل النبض أثناء الراحة اليومي
نوع البيانات: daily-resting-heart-rate
معلَمة الفلتر: daily_resting_heart_rate
نوع السجلّ: يومي

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
البيانات المشتقة لدرجة حرارة الجسم أثناء النوم
نوع البيانات: daily-sleep-temperature-derivations
معلَمة الفلتر: daily_sleep_temperature_derivations
نوع السجلّ: يومي

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
الحد الأقصى لاستهلاك الأكسجين يوميًا
نوع البيانات: daily-vo2-max
معلَمة الفلتر: daily_vo2_max
نوع السجلّ: يومي

الأجهزة المتوافقة

قائمة، تسوية .activity_and_fitness.readonly
.activity_and_fitness.writeonly
المسافة
نوع البيانات: distance
معلَمة الفلتر: distance
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
تخطيط القلب الكهربائي (ECG)
نوع البيانات: electrocardiogram
معلَمة الفلتر: electrocardiogram
نوع السجلّ: الجلسة

الأجهزة المتوافقة

قائمة .ecg.readonly
التمارين الرياضية
dataType: exercise
معلَمة الفلتر: exercise
نوع السجلّ: الجلسة

الأجهزة المتوافقة

list, get, reconcile, create, update, batchDelete .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الطوابق
dataType: floors
معلَمة الفلتر: floors
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة
reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الطعام
dataType: food
معلَمة الفلتر: food
نوع السجلّ: طعام
list, get .nutrition.readonly
.nutrition.writeonly
وحدة قياس الطعام
نوع البيانات: food-measurement-unit
معلَمة الفلتر: food_measurement_unit
نوع السجلّ: طعام

الأجهزة المتوافقة

list, get .nutrition.readonly
.nutrition.writeonly
معدّل نبضات القلب
نوع البيانات: heart-rate
معلَمة الفلتر: heart_rate
نوع السجلّ: عينة
دقة التخزين: ثانية واحدة (1 ثانية)

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
تغيُّر معدّل نبضات القلب
نوع البيانات: heart-rate-variability
معلَمة الفلتر: heart_rate_variability
نوع السجلّ: عينة

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
الارتفاع
نوع البيانات: height
معلَمة الفلتر: height
نوع السجلّ: عينة
list, get, reconcile, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
سجلّ الترطيب
نوع البيانات: hydration-log
معلَمة الفلتر: hydration_log
نوع السجلّ: الجلسة
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
إشعار اضطراب نظم القلب
نوع البيانات: irregular-rhythm-notification
معلَمة الفلتر: irregular_rhythm_notification
نوع السجلّ: الجلسة
قائمة .irn.readonly
فترة الدورة الشهرية
نوع البيانات: menstrual-period
معلَمة الفلتر: menstrual_period
نوع السجلّ: تمرين متناوب
create وupdate وbatchDelete .reproductive_health.writeonly
الحالات المزاجية
dataType: moods
معلَمة الفلتر: moods
نوع السجلّ: عينة
create وupdate وbatchDelete .mindfulness.writeonly
سجلّ التغذية
نوع البيانات: nutrition-log
معلَمة الفلتر: nutrition_log
نوع السجلّ: الجلسة

الأجهزة المتوافقة

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
اختبار الإباضة
نوع البيانات: ovulation-test
معلَمة الفلتر: ovulation_test
نوع السجلّ: عينة
create وupdate وbatchDelete .reproductive_health.writeonly
تشبّع الأكسجين في الدم
نوع البيانات: oxygen-saturation
معلَمة الفلتر: oxygen_saturation
نوع السجلّ: عينة

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
ملخّص النوم الخاص بمعدّل التنفس
نوع البيانات: respiratory-rate-sleep-summary
معلَمة الفلتر: respiratory_rate_sleep_summary
نوع السجلّ: عينة

الأجهزة المتوافقة

قائمة، تسوية .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
الحد الأقصى لاستهلاك الأكسجين أثناء الجري
نوع البيانات: run-vo2-max
معلَمة الفلتر: run_vo2_max
نوع السجلّ: عينة

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
فترات الخمول
نوع البيانات: sedentary-period
معلَمة الفلتر: sedentary_period
نوع السجلّ: تمرين متناوب

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
موسيقى للنوم
dataType: sleep
معلَمة الفلتر: sleep
نوع السجلّ: الجلسة

الأجهزة المتوافقة

list, get, reconcile, create, update, batchDelete .sleep.readonly
.sleep.writeonly
الخطوات
نوع البيانات: steps
معلَمة الفلتر: steps
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
بيانات أطوال السباحة
نوع البيانات: swim-lengths-data
معلَمة الفلتر: swim_lengths_data
نوع السجلّ: تمرين متناوب

الأجهزة المتوافقة

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الأعراض
نوع البيانات: symptoms
معلَمة الفلتر: symptoms
نوع السجلّ: عينة
create وupdate وbatchDelete .logged_symptoms.writeonly
الوقت الذي تم قضاؤه في منطقة معدّل نبضات القلب
نوع البيانات: time-in-heart-rate-zone
معلَمة الفلتر: time_in_heart_rate_zone
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
إجمالي السعرات الحرارية
نوع البيانات: total-calories
معلَمة الفلتر: total_calories
نوع السجلّ: تمرين متناوب
دقة التخزين: دقيقة واحدة

الأجهزة المتوافقة

rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الحد الأقصى لاستهلاك الأكسجين
نوع البيانات: vo2-max
معلَمة الفلتر: vo2_max
نوع السجلّ: عينة

الأجهزة المتوافقة

قائمة، تسوية .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الوزن
نوع البيانات: weight
معلَمة الفلتر: weight
نوع السجلّ: عينة

الأجهزة المتوافقة

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

قيود طلب البحث

عند طلب نقاط البيانات أو الملخّصات أو الملخّصات اليومية من واجهة برمجة التطبيقات، يجب مراعاة القيود التالية:

  • متطلبات الفلترة: تتطلّب بعض أنواع البيانات المشتقة للقراءة فقط، مثل total-calories، فلترًا يحدّد وقت بدء الفترة (باستخدام الوقت الفعلي أو المدني).
  • حدود نطاق طلب البحث: تفرض نقاط نهاية تجميع البيانات اليومية والملخّصة حدودًا قصوى لنطاق طلب البحث استنادًا إلى نوع البيانات:
    • نطاق طلب بحث أقصاه 14 يومًا لكل من calories-in-heart-rate-zone وheart-rate وactive-minutes وtotal-calories
    • نطاق طلب بحث يبلغ 90 يومًا كحدّ أقصى لجميع أنواع البيانات الأخرى
  • حجم فترة التجميع: عند طلب نقطة النهاية rollUp، يجب أن تكون مدة windowSize ثانية واحدة على الأقل ("1s"). ويتم رفض المدد التي تقل عن ثانية واحدة باستخدام INVALID_ARGUMENT. بالإضافة إلى ذلك، اختَر قيمة windowSize تساوي أو تزيد عن دقة التخزين الأساسية لنوع البيانات (مثل "60s" لأنواع البيانات التي تتضمّن فواصل زمنية مدتها دقيقة واحدة، مثل steps وdistance) لتجنُّب التوزيع غير المتساوي على الفواصل الزمنية الفرعية. لمعرفة التفاصيل، يُرجى الاطّلاع على حجم نافذة التجميع ودقة مساحة التخزين الأساسية.

أنواع البيانات اليومية مقابل بيانات الفترات

بالنسبة إلى مقاييس فسيولوجية معيّنة، مثل تغيُّر معدّل نبضات القلب (HRV) أو تشبّع الدم بالأكسجين (SpO2)، توفّر Google Health API نوعَين مختلفَين من البيانات: إصدار يومي وإصدار فترة. من المهم فهم الفرق بينهما لاختيار المقياس المناسب لحالة الاستخدام:

  • يومي: ملخّص واحد مجمّع مسبقًا لليوم بأكمله استخدِم هذه الطريقة للاطّلاع على المؤشرات العامة ولوحات البيانات اليومية لتوفير وقت المعالجة.

  • الفاصل الزمني: قياسات دقيقة وعالية الدقة يتم أخذها على مدار اليوم. استخدِم هذا الخيار لتحديد التقلّبات خلال اليوم أو إجراء تحليل مفصّل كل ساعة.

مدى توفّر البيانات

لا تتوفّر تعديلات على بيانات المستخدم إلا بعد مزامنة جهاز تتبُّع النشاط أو إدخال بيانات جديدة يدويًا في تطبيق Fitbit للأجهزة الجوّالة أو تطبيق الويب. ويمكن لجهاز Fitbit وتطبيق Fitbit للأجهزة الجوّالة المزامنة تلقائيًا كل 15 دقيقة عندما يكون تطبيق Fitbit مفتوحًا على الجهاز الجوّال ويكون الجهازان متصلَين بشبكة بيانات نشطة وضمن نطاق Bluetooth. إذا كان المستخدم يتتبّع النشاط باستخدام MobileTrack، تتم مزامنة البيانات كل ساعة طالما أنّ التطبيق مفتوح.

الاستعلام عن البيانات السابقة

من المزايا الأساسية لواجهة Google Health API إمكانية تتبُّع أداء المستخدم ومراقبة مؤشرات صحته الحيوية على مدار فترات زمنية طويلة. يمكنك طلب بيانات المستخدمين منذ أن تم تسجيلها، ولا تفرض واجهة برمجة التطبيقات أي قيود على مقدار البيانات السابقة التي يمكن أن يستهلكها تطبيقك.

ومع ذلك، تظل الاستعلامات عن البيانات السابقة خاضعة لحدود المعدّل العادية. لإدارة استقرار النظام ومنع الأحجام الكبيرة من الحِمل، تستخدم Google Health API تقسيم الصفحات تلقائيًا مع أحجام صفحات خاصة بنقاط النهاية. يُرجى مراعاة الحدود والسلوك التاليَين:

  • تقسيم النتائج على عدّة صفحات تلقائيًا: إذا طلبت نطاقًا طويلاً من البيانات، ستعرض واجهة برمجة التطبيقات الصفحة الأولى فقط من النتائج التي تصل إلى الحد الأقصى لحجم الصفحة لنقطة النهاية هذه، بالإضافة إلى nextPageToken. يجب استخدام nextPageToken لطلب الصفحات اللاحقة.
  • أحجام الصفحات المتغيرة: تعتمد حدود التحديد على نقطة النهاية ونوع البيانات. بالنسبة إلى معظم أنواع البيانات، يبلغ الحد الأقصى لحجم الصفحة 10,000. ومع ذلك، بالنسبة إلى أنواع بيانات معيّنة، مثل exercise وsleep، يبلغ الحدّ الأقصى لحجم الصفحة التلقائي 25. على سبيل المثال، إذا طلب أحد العملاء جميع بيانات النوم خلال السنوات الـ 10 الماضية، ستعرض واجهة برمجة التطبيقات 25 جلسة نوم فقط في الصفحة الأولى.
  • القيود المفروضة على النطاق الزمني لعمليات التجميع: بالنسبة إلى نقاط نهاية تجميع البيانات (مثل rollUp وdailyRollUp)، يتم حصر النطاقات الزمنية لطلبات البحث استنادًا إلى نوع البيانات:
    • نطاق زمني أقصاه 14 يومًا لكل من calories-in-heart-rate-zone وheart-rate وactive-minutes وtotal-calories
    • نطاق أقصى يبلغ 90 يومًا لجميع أنواع البيانات المجمّعة الأخرى

استنادًا إلى حجم البيانات السابقة التي يحتاجها تطبيقك، سيتطلّب استرداد مجموعة البيانات بأكملها تقسيم الصفحات إلى أجزاء بالتسلسل. يجب مراعاة ذلك عند تصميم عملية مزامنة البيانات في تطبيقك.

لضمان تحقيق الأداء الأمثل وتجنُّب أخطاء واجهة برمجة التطبيقات، اتّبِع الإرشادات التالية عند طلب بيانات سابقة:

مزامنة البيانات على مراحل (التحميل السريع مقابل التشغيل على البارد)

  • التحميل "السريع" الأوّلي: يتم جلب وعرض بيانات آخر 7 إلى 14 يومًا فقط خلال تسلسل التحميل الأساسي. يضمن ذلك أن يرى المستخدمون البيانات على الفور بدون انتظار الاستعلامات التي تستغرق وقتًا طويلاً.
  • التحميل "البارد" في الخلفية: تفويض عملية استرجاع البيانات السابقة إلى قائمة انتظار غير متزامنة ذات أولوية أقل أو عملية في الخلفية بعد عرض واجهة المستخدم الأساسية

تقسيم طلب البحث إلى أجزاء للتجميع

  • بما أنّ نقاط نهاية التجميع والتجميع اليومي تفرض حدًا أقصى للنطاق الزمني (14 أو 90 يومًا حسب نوع البيانات)، عليك تقسيم طلبات البحث الكبيرة الخاصة بالتجميع السابق إلى فواصل زمنية أصغر ومتسلسلة ضمن هذه الحدود.
  • يمكنك معالجة الطلبات الفرعية هذه على شكل دفعات أو تسلسل بشكل آمن للالتزام بحدود التنفيذ المتزامن والحفاظ على مؤشرات التقدّم الثابتة في واجهة المستخدم.

الاستفادة من عمليات التجميع المُسبقة

إعادة هيكلة لوحات البيانات الخاصة بالنظرة العامة ومخططات المؤشرات لاستخدام نقاط نهاية مجمّعة مسبقًا وملخّصة (مثل DailyRollUpDataPoints)، ما سيؤدي إلى تقليل الحمل الزائد للحوسبة بشكل كبير في الخلفية ووقت نقل البيانات إلى العميل عبر الشبكة

معالجة الأخطاء المرنة (عمليات إعادة المحاولة الذكية)

  • يجب تنفيذ معالجة صارمة للتراجع الأسي عند مواجهة حدود المعدّل (429 Too Many Requests) ومهلات بوابة الخادم (504 Gateway Timeout)، وعدم إعادة محاولة إرسال الحِزم الكبيرة التي تعذّر إرسالها على الفور. تؤدي عمليات إعادة المحاولة الفورية إلى زيادة الازدحام في الخلفية وتفاقم تدهور أداء النظام.

إمكانية وصول الجهات الخارجية

لا يمكن لأجهزة Fitbit التواصل مباشرةً مع التطبيقات أو الخدمات التابعة لجهات خارجية. تم تصميم هذه الأجهزة للتواصل والمزامنة حصريًا مع تطبيق Fitbit للأجهزة الجوّالة.

تتم مزامنة البيانات تلقائيًا على مدار اليوم عندما يكون تطبيق Fitbit مفتوحًا، أو كل 15 دقيقة إذا كان البلوتوث نشطًا وكان التطبيق يعمل في الخلفية. بعد اكتمال عملية المزامنة هذه، تصبح البيانات متاحة للخدمات التابعة لجهات خارجية من خلال Google Health API.

معايير المسافة

يتم قياس مسافات التمارين الرياضية، مثل elevationGainMillimeters، بالملليمترات كوحدة قياس معيارية للأسباب التالية:

  1. الحفاظ على دقة البيانات: السبب الأكثر أهمية لاستخدام الملليمترات هو ضمان عدم فقدان أي دقة في البيانات التي نقرأها ونقدّمها. يتيح لنا استخدام وحدة دقيقة مثل المليمترات تمثيل القياسات بدقة عالية.
  2. التوحيد: المليمترات هي وحدة القياس الموحَّدة المصمَّمة في جميع خدماتنا. ويساعد هذا الاتساق في ضمان تجربة موحّدة للمطوّرين الذين يتفاعلون مع أجزاء مختلفة من واجهة برمجة التطبيقات.
  3. توافق نظام القياس الواسع النطاق: يسهّل استخدام وحدة أساسية مثل المليمترات على المطوّرين التحويل إلى أي وحدة أخرى يختارونها، بغض النظر عمّا إذا كانوا يعملون بالنظام المتري أو الإمبراطوري أو غيرهما من أنظمة القياس.

اختلاف طول النهار

تعطي Health API الأولوية لوقت المستخدم من أجل مراعاة اختلاف طول اليوم بسبب التوقيت الصيفي أو السفر. يتم تخزين كل نقطة بيانات مع طابع زمني فعلي بالتوقيت العالمي المنسَّق (UTC) وإزاحة التوقيت العالمي المنسَّق النشطة في وقت وقوع الحدث. يتيح ذلك للنظام ما يلي:

  • ربط الحدث بلحظة زمنية محددة.
  • تصحيح الوقت ليناسب السياق المحلي للمستخدم من أجل التجميع

نظام التوقيت الصيفي

عندما يتم تطبيق نظام التوقيت الصيفي، يؤدي "الرجوع إلى التوقيت العادي" إلى يوم مدني مدته 25 ساعة، وستتضمّن مجموعة الحسابات لهذا التاريخ 25 ساعة من البيانات. يؤدي "تغيير الوقت إلى التوقيت الصيفي" إلى يوم مدني مدته 23 ساعة، حيث يتم الرجوع إلى التوقيت العادي.

سفر

ويمكن أن يؤدي السفر عبر المناطق الزمنية إلى اختلافات أكبر في المدة الفعلية ليوم مدني واحد.

استخدِم نقطة النهاية dailyRollUp لتسوية الاختلافات في المنطقة الزمنية. وتنسب هذه الميزة البيانات تلقائيًا إلى يوم التقويم الذي تم تسجيلها فيه وفقًا للتوقيت المحلي للمستخدم، ما يؤدي إلى "ربط" اليوم ببعضه على الرغم من تغيُّر المنطقة الزمنية.