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.
Veri türüdataType
filter parametresi |
Kullanılabilir işlemler |
Kapsam |
|---|---|---|
|
Yakılan Aktif Enerji
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Etkin Dakikalar
active-minutesactive_minutes
Kayıt türü: Aralık
Uyumlu cihazlar
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Aktif Bölge Dakikası
active-zone-minutesactive_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
|
list, reconcile | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Yükseklik
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Kan Şekeri
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Vücut Yağı
|
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ı
|
grup, günlükGrup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Vücut İç Sıcaklığı
|
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-variabilitydaily_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
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Günlük Oksijen Yoğunluğu
daily-oxygen-saturationdaily_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-ratedaily_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-ratedaily_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-derivationsdaily_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-maxdaily_vo2_max
Kayıt türü: Günlük
Uyumlu cihazlar
|
list, reconcile | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Mesafe
distancedistance
Kayıt türü: Aralık
Uyumlu cihazlar
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Elektrokardiyogram (EKG)
electrocardiogramelectrocardiogram
Kayıt türü: Oturum
Uyumlu cihazlar
|
list | .ecg.readonly |
Egzersiz
exerciseexercise
Kayıt türü: Oturum
Uyumlu cihazlar
|
list, get, reconcile, create, update, batchDelete | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Katlar
|
reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Yiyecek
|
list, get | .nutrition.readonly.nutrition.writeonly |
Yemek Ölçü Birimi
food-measurement-unitfood_measurement_unit
Kayıt türü: Yiyecek
Uyumlu cihazlar
|
list, get | .nutrition.readonly.nutrition.writeonly |
Kalp Atış Hızı
heart-rateheart_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-variabilityheart_rate_variability
Kayıt türü: Örnek
Uyumlu cihazlar
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Boy
|
list, get, reconcile, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Sıvı Alımı Günlüğü
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
|
Düzensiz Kalp Ritmi Bildirimi
|
list | .irn.readonly |
Adet Dönemi
menstrual-periodmenstrual_period
Kayıt türü: Aralık
|
create, update, batchDelete | .reproductive_health.writeonly |
Ruh halleri
moodsmoods
Kayıt türü: Örnek
|
create, update, batchDelete | .mindfulness.writeonly |
Beslenme Günlüğü
nutrition-lognutrition_log
Kayıt türü: Örnek
Uyumlu cihazlar
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Ovülasyon Testi
ovulation-testovulation_test
Kayıt türü: Örnek
|
create, update, batchDelete | .reproductive_health.writeonly |
Oksijen Doygunluğu
oxygen-saturationoxygen_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-summaryrespiratory_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-maxrun_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-periodsedentary_period
Kayıt türü: Aralık
Uyumlu cihazlar
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Uyku
sleepsleep
Kayıt türü: Oturum
Uyumlu cihazlar
|
list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
Adımlar
stepssteps
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-dataswim_lengths_data
Kayıt türü: Aralık
Uyumlu cihazlar
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Belirtiler
symptomssymptoms
Kayıt türü: Örnek
|
create, update, batchDelete | .logged_symptoms.writeonly |
|
Nabız Bölgesinde Geçirilen Süre
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Toplam Kalori
total-caloriestotal_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-maxvo2_max
Kayıt türü: Örnek
Uyumlu cihazlar
|
list, reconcile | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Ağırlık
|
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-caloriesgibi 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-minutesvetotal-caloriesiç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ı
nextPageTokenile birlikte döndürür. Sonraki sayfaları istemek içinnextPageTokenkullanmanı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
exercisevesleepgibi 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.
rollUpvedailyRollUp) için sorgu tarih aralıkları, veri türüne göre kısıtlanır:calories-in-heart-rate-zone,heart-rate,active-minutesvetotal-caloriesiç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:
- 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.
- 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.
- 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".