Google Health API veri türleri

Aşağıdaki tabloda, Google Health API'de her türün gösterimini ve her birinin kapsamını anlamanıza yardımcı olacak çeşitli sütunlarla birlikte veri türlerinin tam listesi yer almaktadır.

Tablo: Google Health API veri türleri
Veri türü
  dataType
  filter parametresi
Kayıt
türü
Kullanılabilir
işlemler
Kapsam Webhook
desteği
Gerçek sıfırlar
desteği
Yakılan Aktif Enerji
  active-energy-burned
  active_energy_burned
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Etkin Dakikalar
  active-minutes
  active_minutes
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Aktif Bölge Dakikası
  active-zone-minutes
  active_zone_minutes
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Etkinlik Düzeyi
  activity-level
  activity_level
Aralık list, reconcile .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Yükseklik
  altitude
  altitude
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Kan Şekeri
  blood-glucose
  blood_glucose
Örnek list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Body Fat
  body-fat
  body_fat
Örnek list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Kalp Atış Hızı Bölgesinde Yakılan Kalori
  calories-in-heart-rate-zone
  calories_in_heart_rate_zone
Aralık grup, günlükGrup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Vücut İç Sıcaklığı
  core-body-temperature
  core_body_temperature
Örnek list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Nabız Değişkenliği
  daily-heart-rate-variability
  daily_heart_rate_variability
Günlük list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Kalp Hızı Bölgeleri
  daily-heart-rate-zones
  daily_heart_rate_zones
Günlük list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Oksijen Doygunluğu
  daily-oxygen-saturation
  daily_oxygen_saturation
Günlük list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Solunum Hızı
  daily-respiratory-rate
  daily_respiratory_rate
Günlük list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Dinlenme Nabzı
  daily-resting-heart-rate
  daily_resting_heart_rate
Günlük list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Uyku Sıcaklığı Türevleri
  daily-sleep-temperature-derivations
  daily_sleep_temperature_derivations
Günlük list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Maksimum Oksijen Tüketimi
  daily-vo2-max
  daily_vo2_max
Günlük list, reconcile .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Mesafe
  distance
  distance
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Elektrokardiyogram (EKG)
  electrocardiogram
  electrocardiogram
Oturum list .ecg.readonly
Egzersiz
  exercise
  exercise
Oturum list, get, reconcile, create, update, batchDelete .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Katlar
  floors
  floors
Aralık reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Yiyecek
  food
  food
Yiyecekler list, get .nutrition.readonly
.nutrition.writeonly
Yiyecek Ölçü Birimi
  food-measurement-unit
  food_measurement_unit
Yiyecekler list, get .nutrition.readonly
.nutrition.writeonly
Kalp atış hızı
  heart-rate
  heart_rate
Örnek list, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Nabız Değişkenliği
  heart-rate-variability
  heart_rate_variability
Örnek list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Boy
  height
  height
Örnek list, get, reconcile, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Sıvı Alımı Günlüğü
  hydration-log
  hydration_log
Oturum list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
Düzensiz Kalp Ritmi Bildirimi
  irregular-rhythm-notification
  irregular_rhythm_notification
Oturum list .irn.readonly
Adet Dönemi
  menstrual-period
  menstrual_period
Aralık create, update, batchDelete .reproductive_health.writeonly
Ruh halleri
  moods
  moods
Örnek create, update, batchDelete .mindfulness.writeonly
Beslenme Günlüğü
  nutrition-log
  nutrition_log
Örnek list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
Ovülasyon Testi
  ovulation-test
  ovulation_test
Örnek create, update, batchDelete .reproductive_health.writeonly
Oksijen Doygunluğu
  oxygen-saturation
  oxygen_saturation
Örnek list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Solunum Hızı Uyku Özeti
  respiratory-rate-sleep-summary
  respiratory_rate_sleep_summary
Örnek list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Maksimum oksijen tüketimi koşusu
  run-vo2-max
  run_vo2_max
Örnek list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Hareketsiz Kalma Süresi
  sedentary-period
  sedentary_period
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Uyku
  sleep
  sleep
Oturum list, get, reconcile, create, update, batchDelete .sleep.readonly
.sleep.writeonly
Adımlar
  steps
  steps
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Havuzda Yüzme Verileri
  swim-lengths-data
  swim_lengths_data
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Belirtiler
  symptoms
  symptoms
Örnek create, update, batchDelete .logged_symptoms.writeonly
Nabız Bölgesinde Geçirilen Süre
  time-in-heart-rate-zone
  time_in_heart_rate_zone
Aralık list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Toplam Kalori
  total-calories
  total_calories
Aralık grup, günlükGrup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Maksimum oksijen tüketimi
  vo2-max
  vo2_max
Örnek list, reconcile .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Ağırlık
  weight
  weight
Örnek list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Sorgu kısıtlamaları

API'den veri noktaları, özetler veya günlük özetler sorgularken aşağıdaki kısıtlamaları göz önünde bulundurun:

  • Filtre koşulları: total-calories gibi bazı salt okunur türetilmiş veri türleri, aralık başlangıç zamanını belirten bir filtre gerektirir (fiziksel veya resmi saat kullanılarak).
  • Sorgu aralığı sınırları: calories-in-heart-rate-zone, heart-rate, active-minutes ve total-calories için maksimum sorgu aralığı 14 gündür. Diğer tüm veri türleri için maksimum sorgu aralığı 90 gündür.

Veri kullanılabilirliği

Kullanıcının verilerindeki güncellemeler yalnızca aktivite takipçisini senkronize ettikten veya Fitbit mobil ya da web uygulamasına manuel olarak yeni veri girdikten sonra kullanılabilir. Fitbit uygulaması mobil cihazda açıkken ve iki cihaz arasında etkin bir veri bağlantısı varken ve Bluetooth menzilindeyken Fitbit cihazı ile Fitbit mobil uygulaması her 15 dakikada bir otomatik olarak senkronize edilebilir. Kullanıcı, MobileTrack'i kullanarak etkinliği izliyorsa uygulama açık olduğu sürece MobileTrack her saat senkronize edilir.

Geçmiş verileri sorgulama

Google Health API'nin temel avantajlarından biri, kullanıcının performansını takip etme ve sağlık verilerini uzun süre boyunca izleme olanağı sunmasıdır. Kullanıcı verilerini kaydedildikleri tarihten itibaren sorgulayabilirsiniz. API, uygulamanızın kullanabileceği geçmiş veri miktarıyla ilgili herhangi bir sınırlama veya kısıtlama getirmez.

Ancak geçmiş verilerle ilgili sorgular standart hız sınırlarına tabidir. Google Health API, bu sınırlara göre API çağrılarının sayısını azaltmak için bir tarih aralığındaki verilerin sorgulanmasını destekler. Aşağıdaki sayfalara ayırma ve istek sınırlarına dikkat edin:

  • Her uç nokta,sayfa başına maksimum 10.000 veri noktası döndürür.
  • Sorgu tarih aralıkları, istek başına 14 ila 90 gün arasında olacak şekilde sınırlandırılmıştır.

Uygulamanızın ihtiyaç duyduğu geçmiş verilerin hacmine bağlı olarak, veri kümesinin tamamının alınması için birden fazla sıralı istek gerekebilir ve bu işlem ek zaman alabilir. Uygulamanızın veri senkronizasyonu sürecini tasarlarken bunu göz önünde bulundurun.

En iyi performansı elde etmek ve API hatalarını önlemek için geçmiş verileri sorgularken aşağıdaki yönergeleri uygulayın:

Aşamalı veri senkronizasyonu (sıcak yükleme ve sıfırdan yükleme)

  • İlk "sıcak" yükleme: Birincil yükleme sırası sırasında yalnızca son 7-14 güne ait verileri getirin ve oluşturun. Bu sayede kullanıcılar, uzun süren sorguları beklemek zorunda kalmadan verileri anında görür.
  • Arka planda "soğuk" yükleme: Birincil kullanıcı arayüzü oluşturulduktan sonra eski geçmiş verilerinin alınmasını eşzamansız, daha düşük öncelikli bir sıraya veya arka plan işlemine devredin.

Zamana dayalı sorgu parçalama

  • Tek bir API çağrısında çok yıllık veya çok aylık aralıklar istemeyin. Büyük geçmiş sorgularını daha küçük ve sıralı aralıklara ayırın (örneğin, istek başına 1 hafta).
  • Eşzamanlılık sınırlarına uymak ve kullanıcı arayüzündeki ilerleme göstergelerini sabit tutmak için bu alt sorguları güvenli bir şekilde toplu olarak veya sırayla gönderin.

Önceden toplanmış özetlerden yararlanma

Önceden toplanmış özet uç noktalarını (ör. DailyRollUpDataPoints) kullanmak için genel bakış kontrol panellerini ve trend grafiklerini yeniden yapılandırın. Bu, arka uçtaki işlem yükünü ve istemciye ağ aktarım süresini önemli ölçüde azaltır.

Esnek hata işleme (akıllı yeniden denemeler)

  • Hız sınırlarıyla (429 Too Many Requests) ve sunucu ağ geçidi zaman aşımlarıyla (504 Gateway Timeout) karşılaşıldığında katı eksponansiyel geri yükleme işleme uygulayın. Büyük ve başarısız olan yükleri asla hemen yeniden denemeyin. Anında yeniden denemeler, arka uçtaki tıkanıklığı artırır ve sistemin bozulmasını kötüleştirir.
  • Bir sorgunun süresi tekrar tekrar aşıldığında otomatik olarak daha küçük bir zaman aralığına geri dönün (örneğin, 1 haftalık bir parçayı 3 güne indirin).

Üçüncü taraf erişimi

Fitbit cihazları, üçüncü taraf uygulamaları veya hizmetleriyle doğrudan iletişim kuramaz. Bu cihazlar yalnızca Fitbit mobil uygulamasıyla iletişim kurup senkronize olacak şekilde tasarlanmıştır.

Cihaz, gün boyunca verileri otomatik olarak senkronize eder. Bu işlem, Fitbit uygulaması açıkken veya Bluetooth etkinse ve uygulama arka planda çalışıyorsa her 15 dakikada bir gerçekleşir. Bu senkronizasyon işlemi tamamlandıktan sonra veriler, Google Health API aracılığıyla üçüncü taraf hizmetler için kullanılabilir.

Mesafe standartları

elevationGainMillimeters gibi egzersiz mesafeleri, aşağıdaki nedenlerle standart birim olarak milimetre cinsinden ölçülür:

  1. Veri Hassasiyetini Koruma: Milimetre kullanmanın en önemli nedeni, okuduğumuz ve sağladığımız verilerde hassasiyeti kaybetmemektir. Milimetre gibi ayrıntılı bir birim kullanmak, ölçümleri yüksek doğrulukla göstermemize olanak tanır.
  2. Standartlaştırma: Hizmetlerimizde standartlaştırılmış birim olarak milimetre kullanılır. Bu tutarlılık, API'nin farklı bölümleriyle etkileşimde bulunan geliştiriciler için tek tip bir deneyim sunulmasına yardımcı olur.
  3. Geniş Ölçüm Sistemi Desteği: Milimetre gibi bir temel birim kullanmak, geliştiricilerin metrik, İngiliz veya başka bir ölçüm sistemiyle çalışıp çalışmadıklarına bakılmaksızın, seçilen diğer birimlere dönüştürmesini kolaylaştırır.

Değişken gün uzunlukları

Health API'nin zaman işleme özelliği, kullanıcının saatini önceliklendirerek yaz saati uygulaması veya seyahat nedeniyle gün uzunluklarındaki değişkenliği hesaba katar. Her veri noktası hem fiziksel bir UTC zaman damgası hem de etkinlik sırasında etkin olan UTC farkıyla birlikte depolanır. Bu sayede sistem:

  • Etkinliği belirli bir fiziksel ana eşleyin.
  • Toplama için saati kullanıcının yerel bağlamına göre düzeltin.

Yaz saati uygulaması

Yaz saati uygulaması sona erdiğinde "kış saatine geçiş" nedeniyle 25 saatlik bir gün oluşur ve o tarihe ait toplayıcıda 25 saatlik veri bulunur. "İleriye alma" işlemi, saatin Standart Saat'e geri alındığı 23 saatlik bir sivil günle sonuçlanır.

Seyahat

Saat dilimleri arasında seyahat etmek, tek bir sivil günün fiziksel süresinde daha da önemli değişikliklere neden olabilir.

Saat dilimi farklılıklarını uzlaştırmak için dailyRollUp uç noktasını kullanın. Bu özellik, verileri kullanıcının yerel saatine göre kaydedildiği takvim gününe otomatik olarak atar. Böylece, saat dilimi değişikliklerine rağmen günü etkili bir şekilde "birleştirir".