Wear OS cihazlarda uygulama uyumluluğunu geliştirme

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.
Tablo 1: Tüm cihazlarda kullanılabilen egzersiz verisi türleri
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:

Tablo 2: İsteğe bağlı egzersiz veri türleri örnekleri
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

Tablo 3: Wear OS cihazlar için gerekli 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

Tablo 4: Pasif izleme günlük hedefleri metrikleri
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

Tablo 5: MeasureClient 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.