Wear Health Services API (WHS), sağlık ve fitness geliştiricileri için tutarlı bir entegrasyon yüzeyi sağladığından Wear OS 3 ve sonraki sürümlerin yüklü olduğu tüm cihazlarda zorunlu bir bileşendir. Uygulamanızı, cihazlar arasında uyumluluğu koruyacak ve kullanıcı deneyimi sorunlarını önleyecek şekilde, birçok cihaza ve bu cihazların farklı özelliklerine sorunsuz bir şekilde uyum sağlayacak şekilde geliştirin. Bunu yapmak için yalnızca uygulamanızın kullandığı istemciler için bağımlılıkları bildirin. Ayrıca, uygulamanızın isteğe bağlı gelişmiş metrikleri kullanılabilirlik durumlarına göre göstermesine veya kaldırmasına olanak tanıyın.
Farklı sensörler, temel donanım ve sensör platformuna bağlı olarak cihaz başına değişen farklı sıklıklarda veri üretir. Örneğin, bir cihaz bir zaman damgasında kalp atış hızını, başka bir zaman damgasında ise konumu döndürebilir. Farklı zaman damgalarında veya çakışan zaman damgalarında bağımsız veri akışları alabilen uygulamalar oluşturun.
Bu kılavuzda, Wear Health Services'teki çeşitli istemciler tarafından desteklenen beklenen davranışlar ve veri türleri açıklanmaktadır.
Egzersiz istemcisi
Aşağıdaki bölümlerde, ExerciseClient
öğesinin beklenen davranışları ve veri türleri açıklanmaktadır.
Beklenen davranışlar
ExerciseClient
için bazı egzersiz türleri, belirli veri türlerinin kullanılabilirliğine bağlıdır. Örneğin, tekerlekli sandalye egzersizleri yalnızca tekerlekli sandalye itme hareketleri destekleniyorsa kullanılabilir. Bu seçenekleri belirli bir cihazda kullanılabilirlik durumlarına göre etkinleştirin ve devre dışı bırakın.
Çoğu egzersiz verisi türü örneklenir ve bir saniyelik aralıklarla sunulur. Bazı istisnalar vardır:
- Bazı durumlarda, bazı egzersiz verisi türleri saniyede birden fazla kez güncellenir. Örneğin, kullanıcı koşarken adım sayısı saniyede birden fazla kez güncellenir.
- Bazı veri türlerinde güncelleme yalnızca mevcut değer önceki değerden farklıysa sağlanır.
Veri teslimi akış halinde veya toplu olarak yapılabilir. Veriler, uygulama işlemcisi açıkken yayınlanır. Bu durum genellikle ekran açık ve etkileşimli olduğunda gerçekleşir. Ekran kapandığında veya ortam moduna (açık ancak etkileşimli değil) geçtiğinde, güç tasarrufu için veriler toplu olarak işlenir. Toplu veriler, uygulama işlemcisi tekrar açıldığında (ör. kol saati ortam modundan çıktığında) veya toplama arabellekleri dolduğunda (cihaza göre değişir) uygulamaya teslim edilir. Cihaz ortam modundayken örnekleme hızı aynı kalır. Bu nedenle, teslim edilen bir toplu işlemde hâlâ yüksek frekanslı veri noktaları bulunur.
Veri Türleri yalnızca kol saatinin sensörleri tarafından oluşturulan verilerden elde edilir. Örneğin, konum verileri tamamen kol saatinden gelir ve telefondan gelmez.
Veri türleri
ExerciseClient
API, farklı türlerdeki antrenmanları başlatmanıza, duraklatmanıza, devam ettirmenize ve durdurmanıza olanak tanır. WHS, her egzersiz için o egzersiz türünde kullanabileceğiniz bir dizi veri türü tanımlar. Bu sayede, belirli bir egzersiz için gerekli olmayan sensörler açılmadığından güç tasarrufu sağlanır ve uygulama mantığınız basitleşir. Örneğin, koşuya başladığınızda konum verileri yalnızca açık hava koşusu için sağlanır ve izlenir. Bisiklet egzersizi başlatıldığında adım sayısı sağlanmaz veya izlenmez. Aşağıdaki bölümlerde, ExerciseClient
'da desteklenen veri türleri açıklanmaktadır.
Tüm cihazlarda kullanılabilen egzersiz verisi türleri
Aşağıdaki egzersiz verisi türleri tüm cihazlarda kullanılabilir.
- Örnek veri türlerinin, egzersizdeki minimum, maksimum ve ortalama değerleri döndüren bir _STATS veri türü vardır. Örneğin, PACE istatistikleri PACE_STATS veri türüyle çekilebilir.
- Aralık veri türlerinin, egzersizden elde edilen kümülatif değeri döndüren karşılık gelen bir _TOTAL veri türü vardır. Örneğin, DISTANCE istatistikleri DISTANCE_TOTAL veri türüyle çekilebilir.
Metrik | Beklenen veriler | Beklenen davranışlarla ilgili notlar |
HEART_RATE_BPM | Dakikadaki nabız sayısı [DataType: Double] | Tüm cihazlar, egzersiz sırasında saniyede bir kez nabız ölçümü yapar. Bazı cihazlar her saniye bir BPM değeri bildirir. Bazı cihazlar yalnızca önceki değerden değiştiğinde kalp atış hızını bildirir. Tüm cihazlarda her saniyede bir BPM değeri almayı beklemeyin. |
KONUM | Enlem ve boylam [DataType: Double] | Konum verileri yalnızca kol saatinin GPS'ine dayanır. Konum verilerinin Fused Location Provider'dan veya diğer Android hizmetlerinden gelmesini beklemeyin. Her veri noktası, doğruluk değeri (yatay konum hatası olarak da bilinir) ve kullanılabilirlik bilgilerini de içerir. |
ADIMLAR | [Veri türü: Uzun] | Adım sayısı, egzersiz süresince toplam adım sayısıdır. Egzersizin duraklatıldığı süre dahil değildir. |
DISTANCE | Metre [Veri türü: Çift] | Mümkün olduğunda GPS tabanlı konumdan, aksi takdirde adımlardan hesaplanır. Toplam, egzersizin duraklatıldığı süre hariç olmak üzere egzersiz süresince yapılan toplamı ifade eder. |
HIZ | [metre / saniye] [Veri türü: Çift] | Minimum, maksimum ve ortalama değerleri döndürür. Bunlar, egzersizin duraklatıldığı süre hariç olmak üzere egzersiz süresince geçerlidir. |
PACE | [saniye / metre] [Veri türü: Çift] | Hız 0 ise varsayılan değer 0'dır. Ortalamalar, egzersizin duraklatıldığı süre hariç olmak üzere egzersiz süresi boyunca hesaplanır. |
ELEVATION_GAIN | Metre. [Veri türü: Çift] | Yükseklikteki olumlu değişiklikler. Toplam, egzersizin duraklatıldığı süre hariç olmak üzere egzersiz süresi boyunca bildirilir. |
TOTAL_CALORIES | kCal [Veri türü: Çift] | Yakılan aktif kalori, bazal metabolizma hızına eklenir. Burada belirtilen kaloriler, sistem ayarlarında belirtildiği gibi kullanıcının boyunu, kilosunu, yaşını ve cinsiyetini dikkate alır. Kaloriler, uygulamanızda toplanan kullanıcı profili verilerini dikkate almaz. Bildirilen toplam, egzersizin duraklatıldığı süre hariç olmak üzere egzersiz süresince yakılan kaloridir. |
İsteğe bağlı egzersiz veri türleri
Aşağıdaki veri türleri listesi yalnızca belirli cihazlarda kullanılabilir. DataTypes
öğelerinin tam listesi için Jetpack referansına bakın. Bir DataType
, önceki "gerekli/garantili" listesinde yoksa isteğe bağlıdır.
İsteğe bağlı veri türleriyle ilgili aşağıdaki örneklere göz atın. Bu listede tüm örneklere yer verilmemiştir:
Metrik | Beklenen veriler | Beklenen davranışlarla ilgili notlar |
ABSOLUTE_ELEVATION | [Veri türü: Çift] | |
ELEVATION_LOSS | Metre [Veri türü: Çift] | Yükseklikteki negatif değişiklikler. Değer pozitif olmalıdır. Örneğin, 1 m'lik yükseklik kaybı -1 değil, 1 olarak döndürülür. |
STEPS_PER_MINUTE | [Veri türü: Uzun] | |
WHEELCHAIR_PUSHES | [Veri türü: Uzun] | Tekerlekli sandalye egzersizlerinde kullanılmak üzere tekerlekli sandalye itme sayısının ölçümü. |
REP_COUNT | [Veri türü: Uzun] | |
SWIM_STROKE_COUNT | [Veri türü: Uzun] | |
SWIM_LAP_COUNT | [Veri türü: Uzun] |
Egzersiz başına veri türleri
Her egzersiz türü için farklı veri türleri döndürülür. Döndürülen veri türleri, alıştırmanın ihtiyaçlarıyla tutarlıdır. Örneğin, BIKING Egzersiz Türü, STEPS Veri Türü'nü döndürmez. Kullanıcının cihazında hangi veri türlerinin desteklendiğini belirlemek için çalışma zamanında Capabilities
yöntemini kullanın.
Tüm egzersiz türleri en azından kalp atış hızı ve kalori verilerini döndürür. Diğer alıştırmalar, alıştırmanın gerekliliklerine bağlı olarak ek veri türlerini destekleyebilir.
Aşağıda birkaç örnek verilmiştir:
- Meditasyon veya pilates gibi egzersizlerde yalnızca nabız ve kalori desteklenir.
- Basketbol veya badminton gibi egzersizlerde nabız, kalori, mesafe ve adım sayısı desteklenir.
- Yürüyüş ve koşu gibi egzersizlerde nabız, kalori, mesafe, adım sayısı, hız ve tempo desteklenir.
- Yüzme etkinliğinde nabız, kalori, mesafe ve yüzme turları desteklenir.
Pasif İzleme İstemcisi
Wear OS çalıştıran tüm cihazların, nabız
ve adım sayısı gibi sağlık ve fitness verilerini pasif olarak izleyen uygulamaları desteklemesi için aşağıdaki veri türleri gereklidir. Bu Veri Türlerinin her biri yalnızca saatteki sensörler tarafından oluşturulan verilerden elde edilmelidir.
Beklenen davranışlar
Güç tasarrufu için Pasif İzleme kullanılarak elde edilen sensör verileri MCU'da depolanır ve Health Services'e gönderilir. Bu toplu sonuçlar, sistem davranışına bağlı olarak farklı aralıklarla döndürülür. Örneğin, sensör arabellekleri dolu olduğunda veya kullanıcı ekranla etkileşimde bulunduğunda toplu olarak veri döndürme.
Herhangi bir veri türü için önceden tanımlanmış veya tahmin edilebilir toplu işleme aralıkları olduğunu varsaymayın.
Pasif izleme veri türleri
Metrik | Beklenen veriler | Notlar |
HEART_RATE_BPM | Dakikadaki nabız sayısı [Veri türü: Çift] | Cihazlar, kalp atış hızı ölçümlerini farklı aralıklarla döndürebilir. Bazı cihazlar her saniye okuma yapabilir. Diğer cihazlar on dakikada bir ölçüm yapabilir. Bu aralıklar uygulamalara sunulmaz. Uygulamalar farklı örnekleme aralıklarına sorunsuz bir şekilde uyum sağlamalıdır. |
STEPS_DAILY/STEPS | [Veri türü: Uzun] | Günlük adım sayısı, son sıfırlamadan bu yana atılan toplam adım sayısıdır. Bu sayı, gece yarısı WHS tarafından tetiklenir. Buna, etkin bir egzersiz duraklatıldığında atılan adımlar da dahildir. Adımlar, son kontrolden bu yana geçen süredeki ayrıntılı farktır. |
DISTANCE_DAILY/DISTANCE | metre [Veri türü: Çift] | İvme ölçer/Adımlar'dan hesaplanır. Konum hizmetlerini devre dışı bırakan kullanıcıların doğru adım sayısı alabilmesi için GPS sırasında hesaplama yapmayın. |
HIZ | [metre / saniye] [Veri türü: Çift] | |
CALORIES_DAILY | kCal [Veri türü: Çift] | Aktif kalori ve BMR dahil olmak üzere gün içinde harcanan kalori miktarı. Burada verilen kalori değeri, sistem ayarlarında belirtilen kullanıcının boyunu, kilosunu, yaşını ve cinsiyetini dikkate alır. Kaloriler, uygulamanızda toplanan kullanıcı profili verilerine göre ayarlanmaz. |
RUNNING_STEPS (isteğe bağlı) | [Veri türü: Uzun] | Hem egzersiz sırasında hem de diğer zamanlarda adım sayısı farkı. İkisini de aynı anda izleyin. |
WALKING_STEPS (isteğe bağlı) | [Veri türü: Uzun] | |
ELEVATION_GAIN | metre [Veri türü: Çift] | Yalnızca yükseklikteki pozitif değişimleri içerir. |
ELEVATION_LOSS | metre [Veri türü: Çift] | Yalnızca yükseklikteki negatif değişimleri içerir. |
FLOORS_DAILY | [Veri türü: Çift] | "Kısmi" katlar olarak gösterilebilir. |
Pasif izleme günlük hedefleri
Metrik | Beklenen veriler | Notlar |
STEPS_DAILY | [Veri türü: Uzun] | Aktif bir egzersiz duraklatılmışken atılan adımlar da dahil olmak üzere günlük adım sayısı, son sıfırlamadan bu yana atılan toplam adım sayısıdır. WHS, gece yarısında sıfırlanır. |
FLOORS_DAILY | [Veri türü: Çift] | Merdivenlerin "kısmi" katları olarak gösterilebilir. |
CALORIES_DAILY | kCal [Veri türü: Çift] | Günlük kalori miktarı (aktif kalori ve BMR dahil). |
DISTANCE_DAILY | metre [Veri türü: Çift] | İvme ölçer veya adım sayısından hesaplanır. Konum hizmetlerini devre dışı bırakan kullanıcıların doğru adım sayısı alabilmesi için bu değeri GPS kullanarak hesaplamayın. |
DAILY_ELEVATION_GAIN | metre [Veri türü: Çift] | Yalnızca yükseklikteki pozitif değişimleri içerir. |
MeasureClient
Belirli bir andaki nabzı ölçmek için MeasureClient
simgesini kullanın.
Beklenen davranışlar
MeasureClient
ve PassiveClient
bazı açılardan benzerdir. İkisi de egzersizle ilgili olmayan, toplu olmayan sağlık istatistikleri sağlar. Nabzı ölçmek için her ikisini de kullanabilirsiniz ancak temel fark, MeasureClient
'da nabız verilerinin kullanılabilirliğinin yer alması, PassiveClient
'da ise kullanılabilirlik bilgilerinin yer almamasıdır.
Veri türleri
Metrik | Beklenen veriler | Notlar |
HEART_RATE_BPM | Dakikadaki nabız sayısı [Veri türü: Çift] | Müsaitlik durumu da dahildir. |
Desteklenen özellikler
Cihazlar, Egzersiz Veri Türleri ve Pasif İzleme Veri Türleri'ne ek olarak, etkinlikleri tetiklemek (ör. egzersize başlama) ve durumu ölçmek (ör. uykuya dalma ve uyanma) için ek özellikleri destekler. Bu özelliklerden bazıları tüm cihazlarda, bazıları ise yalnızca belirli cihazlarda kullanılabilir.
Etkinlik tetikleyicileri
Tüm cihazlar aşağıdaki yaygın tetikleyicileri destekler:
- Mesafe ve adım sayısı için günlük hedefler
- Adım, mesafe ve süre için egzersiz hedefleri.
Diğer cihazlar daha gelişmiş etkinlik tetikleyicilerini destekleyebilir. Bazı örnekler:
- Yüzerken turları sayma
- Yakılan kalori için egzersiz hedefleri
- Anlık hız için egzersiz hedefleri
Eyaletler
Tüm cihazlar temel durum işlevini destekler. Durum işlevi, kullanıcının aktif bir egzersiz yapıp yapmadığını ifade eder.
Diğer cihazlar ek durum işlevleri sağlayabilir. Egzersizin otomatik olarak duraklatılıp duraklatılmadığını veya otomatik olarak devam ettirilip ettirilmediğini ya da kullanıcının uyanık mı yoksa uyuyor mu olduğunu algılama gibi bazı ek durum işlevleri de vardır.
Pasif izlemede sağlık uyarıları
Bazı cihazlar sağlık uyarılarını destekler. Bu özellikler tüm cihazlarda desteklenmez. Bazı sağlık uyarıları, kalp atış hızındaki anormallikleri veya düşmeleri tespit etmeyi içerir.
Sizin için önerilenler
- Not: Bağlantı metni, JavaScript kapalıyken gösterilir.
- Etkin veriler ve alıştırmalar
- Wear OS'teki Sağlık Hizmetleri