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
Kullanılabilir
işlemler
Kapsam
Yakılan Aktif Enerji
active-energy-burned
active_energy_burned
Kayıt türü: Aralık
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Etkin Dakikalar
active-minutes
active_minutes
Kayıt türü: Aralık

Uyumlu cihazlar

  • 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
Aktif Bölge Dakikası
active-zone-minutes
active_zone_minutes
Kayıt türü: Aralık

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Etkinlik Düzeyi
activity-level
activity_level
Kayıt türü: Aralık
list, reconcile .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Yükseklik
altitude
altitude
Kayıt türü: Aralık
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Kan Şekeri
blood-glucose
blood_glucose
Kayıt türü: Örnek
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Vücut Yağı
body-fat
body_fat
Kayıt türü: Örnek

Uyumlu cihazlar

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Nabız Bölgesinde Yakılan Kalori Miktarı
calories-in-heart-rate-zone
calories_in_heart_rate_zone
Kayıt türü: Aralık
grup, günlükGrup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Vücut İç Sıcaklığı
core-body-temperature
core_body_temperature
Kayıt türü: Ö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
Kayıt türü: Günlük

Uyumlu cihazlar

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
Kayıt türü: Günlük
list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Oksijen Yoğunluğu
daily-oxygen-saturation
daily_oxygen_saturation
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Günlük Solunum Hızı
daily-respiratory-rate
daily_respiratory_rate
Kayıt türü: Günlük

Uyumlu cihazlar

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
Kayıt türü: Günlük

Uyumlu cihazlar

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
Kayıt türü: Günlük

Uyumlu cihazlar

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
Kayıt türü: Günlük

Uyumlu cihazlar

list, reconcile .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Mesafe
distance
distance
Kayıt türü: Aralık

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Elektrokardiyogram (EKG)
electrocardiogram
electrocardiogram
Kayıt türü: Oturum

Uyumlu cihazlar

list .ecg.readonly
Egzersiz
exercise
exercise
Kayıt türü: Oturum

Uyumlu cihazlar

list, get, reconcile, create, update, batchDelete .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Katlar
floors
floors
Kayıt türü: Aralık
reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Yiyecek
food
food
Kayıt türü: Yiyecek
list, get .nutrition.readonly
.nutrition.writeonly
Yemek Ölçü Birimi
food-measurement-unit
food_measurement_unit
Kayıt türü: Yiyecek

Uyumlu cihazlar

list, get .nutrition.readonly
.nutrition.writeonly
Kalp Atış Hızı
heart-rate
heart_rate
Kayıt türü: Örnek

Uyumlu cihazlar

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
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Boy
height
height
Kayıt türü: Ö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
Kayıt türü: Oturum
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
Düzensiz Kalp Ritmi Bildirimi
irregular-rhythm-notification
irregular_rhythm_notification
Kayıt türü: Oturum
list .irn.readonly
Adet Dönemi
menstrual-period
menstrual_period
Kayıt türü: Aralık
create, update, batchDelete .reproductive_health.writeonly
Ruh halleri
moods
moods
Kayıt türü: Örnek
create, update, batchDelete .mindfulness.writeonly
Beslenme Günlüğü
nutrition-log
nutrition_log
Kayıt türü: Örnek

Uyumlu cihazlar

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
Ovülasyon Testi
ovulation-test
ovulation_test
Kayıt türü: Örnek
create, update, batchDelete .reproductive_health.writeonly
Oksijen Doygunluğu
oxygen-saturation
oxygen_saturation
Kayıt türü: Örnek

Uyumlu cihazlar

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
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Maksimum oksijen tüketimi koşusu
run-vo2-max
run_vo2_max
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Hareketsiz Kalma Süresi
sedentary-period
sedentary_period
Kayıt türü: Aralık

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Uyku
sleep
sleep
Kayıt türü: Oturum

Uyumlu cihazlar

list, get, reconcile, create, update, batchDelete .sleep.readonly
.sleep.writeonly
Adımlar
steps
steps
Kayıt türü: Aralık

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Yüzme Uzunluğu Verileri
swim-lengths-data
swim_lengths_data
Kayıt türü: Aralık

Uyumlu cihazlar

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Belirtiler
symptoms
symptoms
Kayıt türü: Ö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
Kayıt türü: Aralık
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Toplam Kalori
total-calories
total_calories
Kayıt türü: Aralık

Uyumlu cihazlar

grup, günlükGrup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Maksimum oksijen tüketimi
vo2-max
vo2_max
Kayıt türü: Örnek

Uyumlu cihazlar

list, reconcile .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Ağırlık
weight
weight
Kayıt türü: Örnek

Uyumlu cihazlar

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ı: Toplama ve günlük toplama toplama uç noktaları, veri türüne göre maksimum sorgu aralığı sınırlarını zorunlu kılar:
    • calories-in-heart-rate-zone, heart-rate, active-minutes ve total-calories için maksimum 14 günlük sorgu aralığı.
    • 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, sistem kararlılığını yönetmek ve aşırı yükleri önlemek için uç nokta özel sayfa boyutlarıyla otomatik sayfalama kullanır. Aşağıdaki sınırlara ve davranışa dikkat edin:

  • Otomatik sayfalara ayırma: Uzun bir veri aralığını sorgularsanız API, yalnızca bu uç nokta için sayfa boyutu sınırına kadar olan sonuçların ilk sayfasını nextPageToken ile birlikte döndürür. Sonraki sayfaları istemek için nextPageToken kullanmanız gerekir.
  • Değişken sayfa boyutları: Sınırlama sınırları, uç noktaya ve veri türüne bağlıdır. Çoğu veri türünde sayfa boyutları en fazla 10.000 ile sınırlıdır. Ancak exercise ve sleep gibi belirli veri türleri için varsayılan ve maksimum sayfa boyutu 25 ile sınırlıdır. Örneğin, bir istemci son 10 yıla ait tüm uyku verilerini isterse API, ilk sayfada yine yalnızca 25 uyku oturumu döndürür.
  • Toplama tarih aralığı kısıtlamaları: Veri toplama ve birleştirme uç noktaları (ör. rollUp ve dailyRollUp) için sorgu tarih aralıkları, veri türüne göre kısıtlanır:
    • calories-in-heart-rate-zone, heart-rate, active-minutes ve total-calories için maksimum 14 günlük aralık.
    • Diğer tüm toplama veri türleri için maksimum aralık 90 gündür.

Uygulamanızın ihtiyaç duyduğu geçmiş veri hacmine bağlı olarak, veri kümesinin tamamını almak için sayfalar arasında sırayla gezinmeniz gerekir. 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 daha eski bir döneme ait geçmiş verilerin alınmasını eşzamansız, daha düşük öncelikli bir sıraya veya arka plan işlemine devredin.

Toplama için sorgu parçalama

  • Toplama ve günlük toplama uç noktaları maksimum tarih aralığı sınırını (veri türüne bağlı olarak 14 veya 90 gün) zorunlu kıldığından, büyük geçmiş toplama sorgularını bu sınırlar içinde daha küçük ve sıralı aralıklara ayırmanız gerekir.
  • 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 performansını düşürür.

Üçü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: Millimetre, hizmetlerimizde tasarlanmış standart birimdir. 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ürmelerini 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".