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 korumak ve kullanıcı deneyimi sorunlarını önlemek için 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 kullanılabilirlik durumlarına göre isteğe bağlı gelişmiş metrikleri 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 için 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ılabilirliğine 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 (genellikle ekran açık ve etkileşimli durumdayken) yayınlanır. 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 dışarıda yapılan koşular için sağlanır ve izlenir. Bisiklet egzersizi başlatıldığında adım sayısı sağlanmaz veya takip edilmez. 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 farklı bir değer olduğunda 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. |
| MESAFE | Metre [Veri türü: Çift] | Mevcut 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 yer almıyorsa isteğe bağlıdır.
İsteğe bağlı veri türleriyle ilgili aşağıdaki örneklere bakı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 metrelik 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ı. |
| 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 egzersizler yalnızca kalp atış hızını ve kaloriyi destekler.
- 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
Nabız
ve adım sayısı gibi sağlık ve fitness verilerini pasif olarak izleyen uygulamaları desteklemek için Wear OS çalıştıran tüm cihazlarda 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 okumaları MCU'da saklanır ve Health Services'e toplu olarak 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.
Veri türleri 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 yapılan adımlar da dahildir. Adımlar, son kontrolden bu yana geçen süredeki ayrıntılı değişikliktir. |
| 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. Kalp atış hızını ölçmek için her ikisini de kullanabilirsiniz ancak temel fark, MeasureClient kalp atış hızı verilerinin kullanılabilirliğini içerirken PassiveClient kullanılabilirlik bilgilerini içermez.
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. Örnek olarak aşağıdakiler verilebilir:
- Yüzerken turları sayma
- Yakılan kaloriyle ilgili 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 sunabilir. 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 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: JavaScript kapalıyken bağlantı metni gösterilir.
- Etkin veriler ve alıştırmalar
- Wear OS'te Sağlık Hizmetleri