انواع داده‌های Google Health API

جدول زیر حاوی فهرست کامل انواع داده‌ها است، با چندین ستون برای کمک به شما در درک نمایش هر نوع در Google Health API، و همچنین دامنه‌ای که هرکدام تحت آن دردسترس است.

فیلدهای نوع داده

جدول انواع داده Google Health API شامل چندین ستون فیلد است تا به شما کمک کند نمایش و الزامات هر نوع داده را درک کنید. این ستون‌ها عبارت‌اند از:

جدول: شرح فیلدهای نوع داده Google Health API
فیلد شرح
dataType شناسه‌ای که با خط تیره جدا شده است (برای مثال، active-minutes) و در نشانی‌های وب نقطه پایان استفاده می‌شود.
پارامتر filter شناسه‌ای که با زیرخط از هم جدا شده است (برای مثال، active_minutes) و به‌عنوان مقدار برای پارامتر فیلتر dataType در درخواست‌های ادغام روزانه و ادغام استفاده می‌شود.
نوع گزارش

ساختار و قالب داده‌های ضبط‌شده را نشان می‌دهد. در پشت صحنه، این با نمایش منبع نقاط داده هم‌راستا است. مقادیر ممکن عبارت‌اند از:

  • Interval (نشان‌دهنده اندازه‌گیری‌های ثبت‌شده درطول یک دوره زمانی است.)
  • Sample (نشان‌دهنده اندازه‌گیری‌های لحظه‌ای است.)
  • Daily (نشان‌دهنده اندازه‌گیری‌های انبوهشی یا ثبت‌شده به‌صورت روزانه است.)
  • Session (نشان‌دهنده یک بلوک پیوسته از ضبط، مانند تمرین یا جلسه الکتروکاردیوگرام (ECG).)
  • Food (نشان‌دهنده غذا یا موجودیت داده مرتبط با تغذیه است.)
عملیات دردسترس روش‌های API پشتیبانی‌شده برای نوع داده را فهرست می‌کند (مانند list، create، و rollUp).
Scope گستره(های) OAuth موردنیاز برای دسترسی به نوع داده.
پشتیبانی وب‌قلاب نشان می‌دهد که نوع داده از اعلان‌های هم‌زمان بااستفاده از وب‌قلاب‌ها هنگام همگام‌سازی داده‌های جدید پشتیبانی می‌کند.
پشتیبانی از صفر واقعی نشان می‌دهد که نوع داده از ثبت مقادیر صفر صریح پشتیبانی می‌کند تا بین مقدار صفر فعال (مانند صفر دقیقه فعال) و داده‌های مفقود یا ثبت‌نشده تمایز قائل شود.
وضوح ذخیره‌سازی حداقل فاصله زمانی ضبط یا نمونه‌برداری که در آن نقاط داده ذخیره می‌شوند (برای مثال، ۱ دقیقه برای steps). برای تجمیع‌ها، این نشان‌دهنده حداقل windowSize توصیه‌شده برای اطمینان از توزیع یکنواخت تجمیع بدون مصنوعات داده‌های زیرفاصله است.
دستگاه‌های سازگار فهرست گسترش‌پذیری از دستگاه‌های فیزیکی که می‌توانند این نوع داده را ضبط و با Google Health API (بااستفاده از برنامه Fitbit) همگام‌سازی کنند.

جدول: انواع داده Google Health API
نوع داده عملیات
دردسترس
حوزه
انرژی مصرف‌شده در فعالیت
dataType: active-energy-burned
filter parameter: active_energy_burned
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
دقیقه‌های فعال
dataType: active-minutes
filter parameter: 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
دقایق محدوده فعالیت
dataType: active-zone-minutes
filter parameter: active_zone_minutes
نوع گزارش: فاصله زمانی
وضوح فضای ذخیره‌سازی: ۱ دقیقه

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
سطح فعالیت
dataType: activity-level
filter parameter: activity_level
نوع گزارش: فاصله زمانی
فهرست، تطبیق دادن .activity_and_fitness.readonly
.activity_and_fitness.writeonly
ارتفاع
dataType: altitude
filter parameter: altitude
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
قند خون
dataType: blood-glucose
filter parameter: blood_glucose
نوع گزارش: نمونه
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
چربی بدن
dataType: body-fat
filter parameter: body_fat
نوع گزارش: نمونه

دستگاه‌های سازگار

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
کالری در محدوده ضربان قلب
dataType: calories-in-heart-rate-zone
filter parameter: calories_in_heart_rate_zone
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه
rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
دمای مرکزی بدن
dataType: core-body-temperature
filter parameter: core_body_temperature
نوع گزارش: نمونه
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
تغییرپذیری ضربان قلب روزانه
dataType: daily-heart-rate-variability
filter parameter: daily_heart_rate_variability
نوع ضبط: روزانه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
محدوده‌های ضربان قلب روزانه
dataType: daily-heart-rate-zones
filter parameter: daily_heart_rate_zones
نوع ضبط: روزانه
فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
اشباع اکسیژن روزانه
dataType: daily-oxygen-saturation
filter parameter: daily_oxygen_saturation
نوع ضبط: روزانه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
سرعت تنفس روزانه
dataType: daily-respiratory-rate
filter parameter: daily_respiratory_rate
نوع ضبط: روزانه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
ضربان قلب روزانه در حالت استراحت
dataType: daily-resting-heart-rate
filter parameter: daily_resting_heart_rate
نوع ضبط: روزانه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
انحرافات دمای خواب روزانه
dataType: daily-sleep-temperature-derivations
filter parameter: daily_sleep_temperature_derivations
نوع ضبط: روزانه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
حداکثر اکسیژن مصرفی روزانه
dataType: daily-vo2-max
filter parameter: daily_vo2_max
نوع ضبط: روزانه

دستگاه‌های سازگار

فهرست، تطبیق دادن .activity_and_fitness.readonly
.activity_and_fitness.writeonly
مسافت
dataType: distance
filter parameter: distance
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
الکتروکاردیوگرام (ECG)
dataType: electrocardiogram
filter parameter: electrocardiogram
نوع ضبط: جلسه

دستگاه‌های سازگار

فهرست .ecg.readonly
ورزش
dataType: exercise
filter parameter: exercise
نوع ضبط: جلسه

دستگاه‌های سازگار

list, get, reconcile, create, update, batchDelete .activity_and_fitness.readonly
.activity_and_fitness.writeonly
طبقات
dataType: floors
filter parameter: floors
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه
reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
غذا
dataType: food
filter parameter: food
نوع گزارش: غذا
فهرست، دریافت .nutrition.readonly
.nutrition.writeonly
واحد اندازه‌گیری غذا
dataType: food-measurement-unit
filter parameter: food_measurement_unit
نوع گزارش: غذا

دستگاه‌های سازگار

فهرست، دریافت .nutrition.readonly
.nutrition.writeonly
ضربان قلب
dataType: heart-rate
filter parameter: heart_rate
نوع گزارش: نمونه
وضوح فضای ذخیره‌سازی: ۱ ثانیه

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
تغییرپذیری ضربان قلب
dataType: heart-rate-variability
filter parameter: heart_rate_variability
نوع گزارش: نمونه

دستگاه‌های سازگار

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

دستگاه‌های سازگار

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
آزمایش تخمک‌گذاری
dataType: ovulation-test
filter parameter: ovulation_test
نوع گزارش: نمونه
create, update, batchDelete .reproductive_health.writeonly
اشباع اکسیژن
dataType: oxygen-saturation
filter parameter: oxygen_saturation
نوع گزارش: نمونه
وضوح ذخیره‌سازی: ۱ دقیقه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
خلاصه اطلاعات خواب سرعت تنفس
dataType: respiratory-rate-sleep-summary
filter parameter: respiratory_rate_sleep_summary
نوع گزارش: نمونه

دستگاه‌های سازگار

فهرست، تطبیق دادن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
اجرای حداکثر اکسیژن مصرفی
dataType: run-vo2-max
filter parameter: run_vo2_max
نوع گزارش: نمونه

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
دوره بی‌تحرکی
dataType: sedentary-period
filter parameter: sedentary_period
نوع گزارش: فاصله زمانی

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
حسگرهای دمای پوست v4beta
dataType: skin-temperature-sensors
filter parameter: skin_temperature_sensors
نوع گزارش: نمونه

دستگاه‌های سازگار

فهرست .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
خواب
dataType: sleep
filter parameter: sleep
نوع ضبط: جلسه

دستگاه‌های سازگار

list, get, reconcile, create, update, batchDelete .sleep.readonly
.sleep.writeonly
مراحل
dataType: steps
filter parameter: steps
نوع گزارش: فاصله زمانی
وضوح فضای ذخیره‌سازی: ۱ دقیقه

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
داده‌های طول شنا
dataType: swim-lengths-data
filter parameter: swim_lengths_data
نوع گزارش: فاصله زمانی

دستگاه‌های سازگار

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
علائم
dataType: symptoms
filter parameter: symptoms
نوع گزارش: نمونه
create, update, batchDelete .logged_symptoms.writeonly
زمان در محدوده ضربان قلب
dataType: time-in-heart-rate-zone
filter parameter: time_in_heart_rate_zone
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
مجموع کالری
dataType: total-calories
filter parameter: total_calories
نوع گزارش: فاصله زمانی
وضوح ذخیره‌سازی: ۱ دقیقه

دستگاه‌های سازگار

rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
حداکثر اکسیژن مصرفی
dataType: vo2-max
filter parameter: vo2_max
نوع گزارش: نمونه

دستگاه‌های سازگار

فهرست، تطبیق دادن .activity_and_fitness.readonly
.activity_and_fitness.writeonly
وزن
dataType: weight
filter parameter: weight
نوع گزارش: نمونه

دستگاه‌های سازگار

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

محدودیت‌های پُرسمان

هنگام پرسمان کردن نقاط داده، خلاصه‌ها، یا خلاصه‌های روزانه از API، محدودیت‌های زیر را درنظر داشته باشید:

  • الزامات فیلتر: برخی‌از انواع داده‌های مشتق‌شده فقط خواندنی، مثل total-calories، به فیلتری نیاز دارند که زمان شروع بازه را مشخص کند (بااستفاده از زمان فیزیکی یا مدنی).
  • محدودیت‌های محدوده پُرسمان: نقاط پایانی تجمیع خلاصه و خلاصه روزانه حداکثر محدودیت‌های محدوده پُرسمان را براساس نوع داده اعمال می‌کنند:
    • حداکثر محدوده پُرسمان ۱۴ روز برای calories-in-heart-rate-zone، heart-rate، active-minutes، و total-calories.
    • حداکثر محدوده پُرسمان ۹۰ روز برای همه انواع داده دیگر.
  • اندازه پنجره تجمیع: هنگام فراخوانی نقطه پایانی rollUp، مدت windowSize باید حداقل ۱ ثانیه ("1s") باشد. مدت‌های کمتر از ثانیه با INVALID_ARGUMENT رد می‌شوند. علاوه‌براین، windowSize را برابر یا بزرگ‌تر از وضوح ذخیره‌سازی زیربنایی نوع داده انتخاب کنید (مثلاً "60s" برای انواع داده‌های بازه ۱ دقیقه‌ای مثل steps و distance) تا از توزیع ناهموار در بازه‌های فرعی جلوگیری شود. برای جزئیات، به پنجره تجمیع و وضوح فضای ذخیره‌سازی مراجعه کنید.

انواع داده‌های روزانه درمقابل بازه‌ای

برای برخی‌از سنجه‌های فیزیولوژیکی، مثل «تغییرپذیری ضربان قلب» (HRV) یا «اشباع اکسیژن» (SpO2)، ‏Google Health API دو نوع داده متمایز ارائه می‌دهد: نسخه روزانه و نسخه فاصله زمانی. درک تفاوت بین این دو برای انتخاب سنجه مناسب برای مورد استفاده شما کلیدی است:

  • روزانه: یک خلاصه واحد و ازپیش تجمیع‌شده برای کل روز. از این برای روندهای سطح بالا و داشبوردهای روزانه استفاده کنید تا در پردازش صرفه‌جویی کنید.

  • فاصله: اندازه‌گیری‌های دقیق و با وضوح بالا که درطول روز انجام می‌شود. از این گزارش برای ترسیم نوسانات درون‌روزی یا انجام تجزیه‌وتحلیل عمیق ساعت‌به‌ساعت استفاده کنید.

دردسترس بودن داده‌ها

به‌روزرسانی‌های داده‌های کاربر فقط پس‌از همگام‌سازی ردیاب فعالیت یا وارد کردن دستی داده‌های جدید در برنامه Google Health دردسترس است. وقتی برنامه Google Health در دستگاه همراه باز باشد و این دو دستگاه اتصال داده فعال داشته باشند و در محدوده بلوتوث باشند، دستگاه Fitbit و برنامه Google Health می‌توانند هر ۱۵ دقیقه یک‌بار به‌طور خودکار همگام‌سازی شوند. اگر کاربر فعالیت را بااستفاده از MobileTrack ردیابی می‌کند، MobileTrack تا زمانی که برنامه باز باشد هر ساعت همگام‌سازی می‌شود.

درحال پُرسمان داده‌های تاریخی

یکی از مزایای اصلی Google Health API توانایی ردیابی عملکرد کاربر و پایش علائم حیاتی او در دوره‌های زمانی طولانی است. می‌توانید داده‌های کاربر را تا جایی که ثبت شده است جستجو کنید؛ میانای برنامه‌سازی کاربردی هیچ محدودیت یا قیدی بر مقدار داده‌های قدیمی که برنامه شما می‌تواند مصرف کند اعمال نمی‌کند.

بااین‌حال، پرس‌وجو کردن داده‌های قبلی همچنان تحت نظارت محدودیت‌های نرخ استاندارد است. برای مدیریت پایداری سیستم و جلوگیری از بار داده بیش‌ازحد، Google Health API از صفحه‌بندی خودکار با اندازه‌های صفحه مختص نقطه پایانی استفاده می‌کند. به مرزها و رفتار زیر توجه کنید:

  • صفحه‌بندی خودکار: اگر بازه طولانی‌ای از داده‌ها را پُرسمان کنید، میانای برنامه‌سازی کاربردی فقط صفحه اول نتایج را تا سقف اندازه صفحه برای آن نقطه پایانی، به‌همراه nextPageToken برمی‌گرداند. باید از nextPageToken برای درخواست صفحه‌های بعدی استفاده کنید.
  • اندازه‌های متغیر صفحه: حدود سقف به نقطه پایانی و نوع داده بستگی دارد. برای اکثر انواع داده، اندازه صفحه به حداکثر ۱۰٬۰۰۰ محدود می‌شود. بااین‌حال، برای انواع خاصی از داده‌ها مانند exercise و sleep، اندازه پیش‌فرض و حداکثر صفحه به ۲۵ محدود شده است. برای مثال، اگر کارخواهی همه داده‌های خواب ۱۰ سال گذشته را درخواست کند، میانای برنامه‌سازی کاربردی همچنان فقط ۲۵ جلسه خواب را در صفحه اول برمی‌گرداند.
  • محدودیت‌های محدوده تاریخ تجمیع: برای نقاط پایانی تجمیع و انبوهش داده‌ها (مانند rollUp و dailyRollUp)، محدوده‌های تاریخ پُرسمان براساس نوع داده محدود می‌شوند:
    • حداکثر محدوده ۱۴ روز برای calories-in-heart-rate-zone، heart-rate، active-minutes، و total-calories.
    • حداکثر محدوده ۹۰ روز برای همه انواع دیگر داده‌های تجمیعی.

بسته به حجم داده‌های سابقه که برنامه شما نیاز دارد، بازیابی کل مجموعه داده‌ها مستلزم صفحه‌بندی متوالی صفحات خواهد بود. هنگام طراحی فرایند همگام‌سازی داده‌های برنامه‌تان، این نکته را درنظر داشته باشید.

برای اطمینان از عملکرد بهینه و جلوگیری از خطاهای میانای برنامه‌سازی کاربردی، هنگام پُرسمان داده‌های سابقه، این دستورالعمل‌ها را دنبال کنید:

همگام‌سازی مرحله‌ای داده‌ها (بارگیری گرم درمقابل بارگیری سرد)

  • بارگذاری اولیه «داغ»: فقط داده‌های ۷ تا ۱۴ روز اخیر را درطول توالی بارگذاری اولیه واکشی و ارائه کنید. این کار تضمین می‌کند که کاربران داده‌ها را فوراً و بدون انتظار برای پُرسمان‌های طولانی‌مدت ببینند.
  • بارگیری «سرد» پس‌زمینه: بازیابی داده‌های قدیمی‌تر را به یک صف ناهمگام با اولویت پایین‌تر یا فرایند پس‌زمینه پس‌از رندر شدن واسط کاربری اصلی واگذار کنید.

تکه‌تکه کردن پُرسمان برای انبوهش

  • ازآنجایی‌که نقاط پایانی تجمیع و تجمیع روزانه حداکثر محدوده تاریخ را اعمال می‌کنند (۱۴ یا ۹۰ روز بسته به نوع داده)، باید پُرسمان‌های تجمیع تاریخی بزرگ را به بازه‌های متوالی کوچک‌تر در این محدوده‌ها تقسیم کنید.
  • این زیرپرسش‌ها را به‌طور ایمن دسته‌بندی یا توالی‌بندی کنید تا محدودیت‌های هم‌زمانی رعایت شود و نشانگرهای پیشرفت واسط کاربر ثابت بماند.

بهره‌گیری از خلاصه‌های ازپیش انبوهیده

داشبوردهای نمای کلی و نمودارهای روند را بازسازی کنید تا از نقاط پایانی خلاصه و ازپیش تجمیع‌شده (مانند DailyRollUpDataPoints) استفاده کنند. این کار سربار محاسباتی در پس‌رانه و زمان انتقال شبکه به کارخواه را به‌طور چشمگیری کاهش می‌دهد.

مدیریت خطای انعطاف‌پذیر (امتحان مجدد هوشمند)

  • هنگام مواجه شدن با محدودیت‌های نرخ (429 Too Many Requests) و وقفه زمانی درگاه سرور (504 Gateway Timeout)، مدیریت سخت‌گیرانه عقب‌نشینی نمایی را پیاده‌سازی کنید. هرگز بارهای داده بزرگ و ناموفق را بلافاصله دوباره امتحان نکنید. تلاش‌های مجدد فوری باعث افزایش ازدحام در پس‌زمینه و تشدید تخریب سیستم می‌شود.

دسترسی شخص ثالث

دستگاه‌های Fitbit نمی‌توانند مستقیماً با برنامه‌ها یا سرویس‌های شخص ثالث ارتباط برقرار کنند. این دستگاه‌ها به‌گونه‌ای طراحی شده‌اند که فقط با برنامه Google Health ارتباط برقرار کنند و همگام‌سازی شوند.

دستگاه درطول روز، هرزمان که برنامه Google Health باز باشد، یا هر ۱۵ دقیقه یک‌بار اگر بلوتوث فعال باشد و برنامه در پس‌زمینه درحال اجرا باشد، داده‌ها را به‌طور خودکار همگام‌سازی می‌کند. پس‌از تکمیل این فرایند همگام‌سازی، داده‌ها ازطریق Google Health API برای سرویس‌های طرف سوم دردسترس قرار می‌گیرند.

فیلتر کردن کیفیت و اعتبار داده‌ها

برای ارائه سنجه‌های سلامتی قابل‌اعتماد بدون نیاز به فیلتر کردن نویز سفارشی در سمت کارخواه، Google Health API دورسنجی حسگر را اعتبارسنجی می‌کند و اندازه‌گیری‌های نامعتبر را قبل‌از برگرداندن پاسخ‌ها مستثنی می‌کند:

  • برای اشباع اکسیژن خون در سطح دقیقه (oxygen-saturation)، میانای برنامه‌سازی کاربردی فقط خوانش‌های معتبر را برمی‌گرداند و دقایقی را که به‌دلیل حرکت دست، شل بودن ساعت روی مچ، یا امتیاز اطمینان حسگر زیر ۵۰٪ نامعتبر علامت‌گذاری شده‌اند، و همچنین ۳ دقیقه قبل و بعداز خوانش نامعتبر و بازه‌های معتبر مجزای کوتاه‌تر از ۴ دقیقه را حذف می‌کند. درنتیجه، پوشش در سطح دقیقه می‌تواند پراکنده باشد و انتظار می‌رود وقفه‌هایی وجود داشته باشد. برای جزئیات، به فیلتر کردن SpO2 در سطح دقیقه و اعتبار داده‌ها مراجعه کنید.

استانداردهای فاصله

مسافت‌های تمرین، مثل elevationGainMillimeters، به میلی‌متر به‌عنوان واحد استاندارد اندازه‌گیری می‌شود، زیرا:

  1. حفظ دقت داده‌ها: مهم‌ترین دلیل استفاده از میلی‌متر این است که مطمئن شویم هیچ دقتی را در داده‌هایی که می‌خوانیم و ارائه می‌دهیم ازدست نمی‌دهیم. استفاده از واحدی دقیق مانند میلی‌متر به ما امکان می‌دهد اندازه‌گیری‌ها را با دقت بالا نشان دهیم.
  2. استانداردسازی: میلی‌متر واحد استاندارد طراحی‌شده در سراسر سرویس‌های ما است. این ثبات به تضمین تجربه یکنواخت برای توسعه‌دهندگانی که با بخش‌های مختلف میانای برنامه‌سازی کاربردی تعامل دارند کمک می‌کند.
  3. پشتیبانی گسترده از سیستم اندازه‌گیری: استفاده از واحد پایه مانند میلی‌متر، تبدیل به هر واحد انتخابی دیگر را برای توسعه‌دهندگان آسان می‌کند، صرف‌نظر از اینکه با سیستم‌های اندازه‌گیری متریک، امپریال، یا سیستم‌های دیگر کار می‌کنند.

طول متغیر روزها

مدیریت زمان توسط Health API زمان کاربر را برای محاسبه طول متغیر روز ناشی از «ساعت تابستانی» یا سفر در اولویت قرار می‌دهد. هر نقطه داده با مُهر زمان فیزیکی UTC و اختلاف UTC فعال در زمان رویداد ذخیره می‌شود. این کار به سیستم اجازه می‌دهد:

  • رویداد را به لحظه فیزیکی دقیقی نگاشت کنید.
  • تصحیح زمان براساس بافت محلی کاربر برای تجمیع.

ساعت تابستانی

وقتی «ساعت تابستانی» اتفاق می‌افتد، «عقب کشیدن ساعت» منجر به یک روز مدنی ۲۵ ساعته می‌شود و خلاصه آن تاریخ حاوی ۲۵ ساعت داده خواهد بود. «جلو کشیدن ساعت در بهار» منجر به یک روز مدنی ۲۳ ساعته می‌شود که در آن زمان به زمان استاندارد برمی‌گردد.

سفر

سفر در مناطق زمانی مختلف می‌تواند باعث تغییرات قابل‌توجه‌تری در مدت فیزیکی یک روز مدنی شود.

از نقطه پایانی dailyRollUp برای تطبیق دادن تفاوت‌های منطقه زمانی استفاده کنید. این ویژگی به‌طور خودکار داده‌ها را به روز تقویمی که در آن ثبت شده‌اند نسبت می‌دهد (براساس زمان محلی کاربر) و به‌طور مؤثری روز را با وجود تغییرات منطقه زمانی به‌هم «وصل می‌کند». برای جزئیات و مثال‌ها، تجمیع در روزهای تقویم را در راهنمای «تجمیع داده‌ها» ببینید.