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 platformu sunduğundan Wear OS 3 ve sonraki sürümleri çalıştıran tüm cihazlar için zorunlu bir bileşendir. Uygulamanızı birçok cihaza ve cihazların farklı özelliklerine uyum sağlayacak şekilde düzenleyerek cihazlar arasında uyumluluğu koruyun ve kullanıcı deneyimiyle ilgili sorunlardan kaçının. Bu amaçla, yalnızca uygulamanızın kullandığı istemciler için bağımlılıkları beyan edin. Ayrıca, uygulamanıza, kullanılabilirlik durumlarına göre isteğe bağlı gelişmiş metrikleri görüntüleme veya kaldırma esnekliği sunar.

Farklı sensörler, temel donanıma ve sensör platformuna bağlı olarak cihaza göre değişen farklı frekanslarda veri oluşturur. Örneğin, cihaz bir zaman damgasında ve konumda farklı bir konumdayken nabzı 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 Sağlık Hizmetleri'ndeki ç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 şınavları destekleniyorsa kullanılabilir. Bu seçenekleri, belirli bir cihazdaki kullanılabilirliklerine göre etkinleştirebilir ve devre dışı bırakabilirsiniz.

Bazı istisnalar dışında, çoğu egzersiz veri türü bir saniyelik aralıklarla örneklenir ve yayınlanır:

  • Bazı durumlarda, bazı egzersiz veri türleri saniyede bir defadan fazla güncellenir. Örneğin, kullanıcı çalışırken adım sayısı saniyede bir defadan daha fazla güncellenir.
  • Bazı veri türlerinde yalnızca mevcut değer önceki değerden farklı olduğunda güncelleme yayınlanır.

Veri teslimi akışla veya toplu olarak yapılabilir. Veri akışı, uygulama işlemcisi açıkken gerçekleştirilir. Bu genellikle ekran açık ve etkileşimlidir. Ekran kapandıktan veya ambiyans moduna girdiğinde (açık, ancak etkileşimli değil), güç tasarrufu için veriler toplu olarak işlenir. Toplu veriler, saat ambiyans modundan çıktığı veya cihaza göre değişen toplu işleme için arabelleklerin dolduğu durumlarda uygulama işlemcisi tekrar açıldığında uygulamaya gönderilir. Cihaz, ambiyans modundayken örnekleme hızı aynı kalır. Bu nedenle, gönderilen bir grupta hâlâ yüksek frekanslı veri noktaları bulunur.

Veri Türleri, yalnızca saatteki sensörler tarafından oluşturulan verilerden türetilir. Örneğin, konum verileri telefondan değil, tamamen saatten alınır.

Veri türleri

ExerciseClient API'si farklı türlerde antrenmanları başlatmanızı, duraklatmanızı, devam ettirmenizi ve durdurmanızı sağlar. WHS her egzersiz için o egzersiz türü için kullanımınıza sunulan bir dizi veri türünü tanımlar. Belirli bir egzersiz için gerekli olmayan sensörler açılmadığından, bu özellik güçten tasarruf etmenizi sağlar ve uygulamanızın mantığını basitleştirir. Örneğin, bir koşuya başlarken konum verileri yalnızca açık hava koşusu için sağlanır ve takip edilir. Bisiklet egzersizine başlarken adımlar sağlanmaz veya takip edilmez. Aşağıdaki bölümlerde, ExerciseClient ürününde desteklenen veri türlerinin açıklaması yer almaktadır.

Garantili egzersiz veri türleri

Tüm cihazlarda aşağıdaki egzersiz verisi türleri kullanılabilir.

  • Örnek veri türleri, alıştırmadan minimum, maksimum ve ortalama değerleri döndüren bir _STATS Veri Türüne sahiptir. Örneğin, PACE istatistikleri PACE_STATS Veri Türü ile alınabilir.
  • Aralık veri türleri, alıştırmadan elde edilen kümülatif değeri döndüren bir _TOTAL Veri Türüne sahiptir. Örneğin, DISTANCE_TOTAL Veri Türü ile DISTANCE istatistikleri alınabilir.
Metrik Beklenen veriler Beklenen davranışlarla ilgili notlar
HEART_RATE_BPM Dakikadaki nabız sayısı [DataType: Çift] Tüm cihazlar, egzersiz sırasında nabız testini saniyede bir kez yapar. Bazı cihazlar her saniyede bir nabız/dk değeri bildirir. Bazı cihazlar BPM yalnızca önceki değerden sonra değiştiğinde rapor eder. Tüm cihazlarda her 1 saniyelik aralıkta BPM değeri almayı beklemeyin.
KONUM Enlem ve boylam [DataType: Çift] Konum verileri yalnızca saat GPS'ine dayalıdır. Konum verilerinin Çok Kaynaklı Konum Sağlayıcıdan veya diğer Android hizmetlerinden gelmesini beklemeyin). Her veri noktasının bir doğruluk değeri (yatay konum hatası olarak da bilinir) ve kullanılabilirlik durumu da bulunur.
ADIMLAR [Veri türü: Uzun] Adım sayısı, egzersizin süresi boyunca devam eden bir toplamdır, egzersizin duraklatıldığı süreler dahil değildir
MEsafe Metre [Veri türü: Çift] Mümkün olduğunda GPS tabanlı konumdan ve diğer adımlardan hesaplanmıştır. Toplam, egzersizin duraklatıldığı süreler dahil değil, egzersizin süresi boyunca gerçekleşen toplamı ifade eder.
HIZ [metre / saniye] [Veri türü: Çift] Minimum, maksimum ve ortalama değerleri döndürür. Bu süreler, egzersizin duraklatıldığı süre dahil değildir. Egzersiz süresini kapsar.
PACE [saniye / metre] [Veri türü: Çift] Hız 0 ise varsayılan değer 0'dır. Ortalamalar, egzersizin duraklatıldığı süre dahil değildir. Egzersizin süresini temel alır.
ELEVATION_GAIN Metre. [Veri türü: İkili] Yükseklikte pozitif değişiklikler var. Toplam sayı, egzersizin duraklatıldığı süre dahil edilmeksizin egzersizin süresi boyunca raporlanır.
TOPLAM_KALOR SAYISI kCal [Veri türü: Çift] Bazal Metabolizma Hızı'na eklenen yakılan aktif kalori sayısı. Burada açıklanan kalorilerde kullanıcının boy, kilo, yaş ve cinsiyeti sistem ayarlarında belirtildiği şekilde dikkate alınır. Kalori, uygulamanızda toplanan kullanıcı profili verilerini dikkate almaz. Bildirilen toplam miktar egzersizin süresi boyuncadır. Egzersizin duraklatıldığı süre dahil değildir.

İsteğe bağlı egzersiz verisi türleri

Aşağıdaki veri türleri listesi yalnızca belirli cihazlarda kullanılabilir. DataType'ların tam listesi için Jetpack referansına bakın. Bir DataType, önceki "gerekli/garantili" listesinde değilse isteğe bağlıdır.

Aşağıdaki isteğe bağlı veri türü örneklerine bakın. Bu listede tüm örneklere yer verilmemiştir:

Metrik Beklenen veriler Beklenen davranışlarla ilgili notlar
ABSOLUTE_ELEVATION [Veri türü: İkili]
ELEVATION_LOSS Metre [Veri türü: Çift] Yükseklikteki olumsuz değişiklikler. Değer pozitif. Örneğin, 1m'lik bir yükseklik kaybı, -1 değil 1 olarak döndürülür.
ADIM_PER_MINUTE [Veri türü: Uzun]
WHEELCHAIR_PUSHES (WhEELCHAIR_PUSHES) [Veri türü: Uzun] Tekerlekli sandalyeye dayalı egzersizlerde kullanım için tekerlekli sandalye şınavlarının 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ürü

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 Alıştırma 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 lütfen çalışma zamanında Capabilities yöntemini kullanın.

En azından tüm egzersiz türleri nabız ve kalori verilerini döndürür. Diğer egzersizler, alıştırmanın gereksinimlerine bağlı olarak ek veri türlerini destekleyebilir.

Aşağıda birkaç örnek verilmiştir:

  • Meditasyon veya pilates gibi egzersizler yalnızca nabzı ve kaloriyi destekler
  • Basketbol veya badminton gibi egzersizler nabız, kalori, mesafe ve adım sayısını destekler.
  • Yürüme ve koşu gibi egzersizler nabız, kalori, mesafe, adım, hız ve tempoyu destekler
  • Yüzme nabız, kalori, mesafe ve yüzme turları destekler

Pasif İzleme İstemcisi

Aşağıdaki Veri Türleri, Wear OS çalıştıran tüm cihazlarda nabız ve adım sayısı gibi sağlık verilerini pasif olarak izleyen uygulamaları desteklemesi için zorunludur. Bu Veri Türlerinin her biri, yalnızca saatteki sensörler tarafından oluşturulan verilerden türetilmelidir.

Beklenen davranışlar

Güçten tasarruf etmek için Pasif İzleme kullanılarak elde edilen sensör ölçümleri MCU'da depolanır ve Sağlık Hizmetleri'nde toplu olarak işlenir. Bu toplu sonuçlar sistem davranışına bağlı olarak farklı aralıklarla döndürülür. Buna örnek olarak, sensör arabellekleri dolduğunda veya kullanıcı ekranla etkileşime geçtiğinde geri dönen gruplar verilebilir.

Hiçbir veri türü için önceden tanımlanmış veya tahmin edilebilir toplu işlem aralıkları varsaymayın.

Pasif izleme veri türleri

Metrik Beklenen veriler Notes
HEART_RATE_BPM Dakikadaki nabız sayısı [Veri türü: Çift] Cihazlar, nabız ölçümlerini farklı aralıklarda döndürebilir. Bazı cihazlar saniyede bir okuma işlemini gerçekleştirebilir. Diğer cihazlardan on dakikada bir ölçüm yapılabilir. Bu aralıklar uygulamalar tarafından kullanılamaz. 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ı, gece yarısı WHS tarafından tetiklenen son sıfırlamadan bu yana atılan toplam adım sayısıdır. Aktif bir egzersiz duraklatıldığında atılan tüm adımlar buna dahildir. Adımlar, son kontrolden bu yana geçen ayrıntılı bir deltadır.
DISTANCE_DAILY/DISTANCE metre [Veri türü: Çift] İvme Ölçer/Adımlar temel alınarak hesaplanmıştır. Konum hizmetlerini devre dışı bırakan kullanıcıların doğru adım sayılarını almaya devam edebilmesi 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ünlük kalori miktarı. Burada açıklanan kalori değeri; kullanıcının boy, kilo, yaş ve cinsiyetini sistem ayarlarında belirtildiği şekilde dikkate alır. Kalori, uygulamanızda toplanan kullanıcı profili verilerine göre ayarlanmaz.
RUNNING_STEPS (isteğe bağlı) [Veri türü: Uzun] Bir egzersiz sırasında veya başka bir şey sırasındaki adımların deltası. İkisini de aynı anda izleyebilirsiniz.
WALKING_STEPS (isteğe bağlı) [Veri türü: Uzun]
ELEVATION_GAIN metre [Veri türü: Çift] Yalnızca yükseklikteki pozitif deltaları içerir
ELEVATION_LOSS metre [Veri türü: Çift] Yalnızca yükseklikteki negatif deltaları içerir
FLOORS_DAILY [Veri türü: İkili] "Kısmi" taban fiyatlar olarak temsil edilebilir.

Günlük pasif izleme hedefleri

Metrik Beklenen veriler Notes
GÜNLÜK ADIMS [Veri türü: Uzun] Aktif bir egzersiz duraklatıldığında atılan tüm adımlar dahil olmak üzere günlük adım sayısı, son sıfırlama işleminden sonra atılan toplam adım sayısıdır. WHS gece yarısında sıfırlanır.
FLOORS_DAILY [Veri türü: İkili] Merdivenlerin "kısmi" katları olarak gösterilebilir.
CALORIES_DAILY kCal [Veri türü: Çift] Aktif kalori ve BMR'yi içeren günlük kalori miktarı.
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ılarını alabilmeleri için bu değeri GPS kullanarak hesaplamayın.
GÜNLÜK_ELEVATION_GAIN metre [Veri türü: Çift] Yalnızca yükseklikteki pozitif deltaları içerir

Ölçüm İstemcisi

Belirli bir anda nabzınızı ölçmek için MeasureClient özelliğini kullanın.

Beklenen davranışlar

MeasureClient ve PassiveClient bazı yönlerden benzer. İkisi de egzersizle ilgili olmayan toplu sağlık istatistikleri sunar. Nabzı ölçmek için her ikisini de kullanabilirsiniz ancak temel fark şudur: MeasureClient, nabız verilerinin kullanılabilirliğini içerirken PassiveClient, kullanılabilirlik bilgilerini içermez.

Veri türleri

Metrik Beklenen veriler Notes
HEART_RATE_BPM Dakikadaki nabız sayısı [Veri türü: Çift] Stok durumunu da içerir

Desteklenen özellikler

Cihazlar, Egzersiz Veri Türleri ve Pasif İzleme Veri Türlerine ek olarak egzersiz başlatma ve uykuda ve uyanıklık gibi durumu ölçme gibi etkinlikleri tetiklemek için ek özellikleri destekler. Bu özelliklerden bazıları tüm cihazlarda, diğerleri ise yalnızca bazı cihazlarda mevcuttur.

Etkinlik tetikleyicileri

Tüm cihazlar aşağıdaki yaygın tetikleyicileri destekler:

  • Mesafe ve adım sayısı ile ilgili günlük hedefler
  • Adımlar, mesafe ve süre için egzersiz hedefleri.

Diğer cihazlar daha gelişmiş etkinlik tetikleyicilerini destekleyebilir. Aşağıda konuyla ilgili olarak bazı örnekler verilmiştir:

  • 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 o anda hareket halinde olup olmadığını

Diğer cihazlar, ek durum işlevleri sağlayabilir. Egzersizin otomatik olarak duraklatılıp duraklatılmadığını veya devam ettirilip sürdürülmediğini ya da kullanıcı uyanık veya uyku modunda olup olmadığının algılanması, diğer durum işlevlerinden bazılarıdı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ı, nabız anormalliklerini veya düşmeleri tespit etmeyi içerir.