Sağlık Hizmetleri ile sensör verilerini simüle edin

Uygulamanızı gerçekten bir egzersiz yapıyormuş gibi test etmek için Wear OS'te Sağlık Hizmetleri'nden oluşturulan sentetik verileri kullanın.

Wear OS 4 (API 33) veya Wear OS 3 (API 30) çalıştıran bir emülatörde test yapıyorsanız emülatör tarafından oluşturulan sentetik verileri kullanabilirsiniz. Wear OS 3 ve Wear OS 4 için sentetik veri oluşturma arasındaki farklar hakkında daha fazla bilgi edinmek için aşağıdaki kılavuza bakın.

Wear OS 4'te sentetik veriler kullanma

Testinizi Wear OS 4 (API 33) çalıştıran bir emülatörde yapıyorsanız uygulamanızı test etmek için emülatör tarafından oluşturulan sentetik verileri kullanabilirsiniz. Bu özellik, Wear OS 3'te sentetik verilerin oluşturulma şekliyle ilgili bir dizi iyileştirme sunar:

Sentetik veri oluşturmayı başlatmak, duraklatmak ve sonlandırmak için uygulama içi kontrollerinizi kullanın.

Ayrıca emülatörün her alıştırma için aynı veri değerlerini oluşturduğunu unutmayın.

Etkinlikleri simüle et

Emülatörde AUTO_PAUSE_DETECTED gibi çeşitli etkinlikleri simüle edebilirsiniz. Bu etkinlikleri tetiklemek için aşağıdaki komut kullanılabilir:

adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices

Sentetik etkinlikler

Etkinlik

Anahtar

Otomatik Duraklatma Algılandı

whs.AUTO_PAUSE_DETECTED

Otomatik Sürdürme Algılandı

whs.AUTO_RESUME_DETECTED

Düşme Algılandı

whs.FALL_OVER

Uyku Algılandı

whs.START_SLEEPING

Uyku Durdurma Algılandı

whs.STOP_SLEEPING

Golf Atışı Algılandı

whs.GOLF_SHOT

Örneğin, bir otomatik duraklatma etkinliğini tetiklemek için aşağıdaki komutu kullanabilirsiniz:

​​adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices

Golf atışı etkinliklerinde golf vuruşu salıntısı türü için aşağıda özetlenen ek parametreler belirtmeniz gerekir:

Golf Atışı Salıncağı Türü

Parametre

Salıncak Tipi

putt vuruşu

Kısmi Salıncak

kısmi

Tam Türlü Salıncak

tam

Golf atışı etkinliğini belirttikten sonra golf vuruşu salıncak türünü ekleyin:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \
  "golf-swing-type-parameter" com.google.android.wearable.healthservices

Örneğin, aşağıdaki komut kısmi bir golf şutunu tetikler:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \
  com.google.android.wearable.healthservices

Wear OS 3'te sentetik veriler kullanma

Wear OS 3 çalıştıran bir emülatörde test yapıyorsanız uygulamanızı test etmek için sentetik verileri de kullanabilirsiniz.

Sentetik veri oluşturmayı etkinleştir

Wear OS 3'te sentetik veri oluşturmayı etkinleştirmek için aşağıdaki adımları uygulayın.

  1. Geliştirici seçeneklerini etkinleştirin.
  2. Sentetik modu etkinleştirmek için aşağıdaki adb komutunu çalıştırın:

    adb shell am broadcast \
    -a "whs.USE_SYNTHETIC_PROVIDERS" \
    com.google.android.wearable.healthservices
    

Sentetik veri oluşturma etkinleştirildikten sonra "sentetik kullanıcı" davranışını kontrol etmek için bu sayfada açıklanan komutları yayınlayın.

Sentetik veri oluşturmayı devre dışı bırak

Gerçek sensörleri kullanmaya geri dönmek için aşağıdaki komutu çalıştırın:

adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

Sentetik egzersizler

Sağlık Hizmetleri aşağıdaki egzersiz türlerini destekler:

  • Yaya: whs.synthetic.user.START_WALKING
  • Çalışıyor: whs.synthetic.user.START_RUNNING
  • Yürüyüş: whs.synthetic.user.START_HIKING
  • Yüzme: whs.synthetic.user.START_SWIMMING
  • Koşu bandında koşma: whs.synthetic.user.START_RUNNING_TREADMILL

Alıştırmalar aşağıdaki veri türleri için gerçekçi sentetik veriler oluşturur:

  • Nabız
  • Dakikadaki adım sayısı
  • GPS konumu, tek bir varsayılan rota kullanılıyor
  • Etkinliğin süresi
  • Yükseklik ve kat sayısı

Ayrıca, aşağıdaki durumlar oluşturulabilir:

  • Uyku durumu (uykuda veya uyanıkken)
  • Düşme algılayıcı

Başlayın

Egzersiz simülasyonu başlatmak için uygun yayını com.google.android.wearable.healthservices cihazına yayınlayın:

# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices

Her etkinlikte, desteklenen metrikler için hazır ayarlar bulunur:

Etkinlik Nabız Ortalama hız Rakım değişikliği Konumu kullan
Yürüyüş 120 nabız/dk 1,4 m/sn. 20,0 m/dk. true
Koşarken dinlenecek parçalar 170 nabız/dk 2,3 m/sn. 20,0 m/dk. true
Doğa Gezintisi 150 nabız/dk 1,3 m/sn. 20,0 m/dk. true
Yüzme 150 nabız/dk 1,6 m/sn. 0,0 m/dk. true
Koşu bandında koşma 160 nabız/dk 2,3 m/sn. 20,0 m/dk. false

Durdur

Sentetik etkinliği durdurmak için aşağıdaki komutu kullanın:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

Özel

Oluşturulacak metrikler üzerinde daha hassas bir kontrole sahip olmak için whs.synthetic.user.START_EXERCISE işlem dizesini kullanarak özel bir egzersiz etkinliği başlatın. Aşağıdaki işaretlerin herhangi bir kombinasyonunu sağlayın:

  • --ei exercise_options_duration_secs <int>: Egzersizin saniye cinsinden süresi. Varsayılan: 0.
  • --ei exercise_options_heart_rate <int>: nabız/dakika cinsinden nabız. Ortalama: 70.
  • --ef exercise_options_average_speed <float>: metre/saniye cinsinden ortalama hız. Dakikadaki adım sayısını veya kadansı da etkiler. Varsayılan: 0.
  • --ez exercise_options_use_location <boolean>: varsayılan rota kullanarak egzersiz sırasında konum verilerinin yayınlanıp yayınlanmayacağı. Varsayılan: false.
  • --ef exercise_options_max_elevation_rate <float>: dakikada metre cinsinden mümkün olan maksimum irtifa değişim hızı. Varsayılan: 0.

Örneğin, egzersiz seçeneklerini aşağıdaki şekilde ayarlayın:

adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices

Gerçek veya emüle edilmiş donanımın belirli bir veri türünü destekleyip desteklemediğine bakılmaksızın, kullanılabilen veri türlerini de değiştirebilirsiniz. Örneğin, aşağıdaki snippet'te gösterildiği gibi mutlak yüksekliği etkinleştirebilir veya devre dışı bırakabilirsiniz:

# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices

# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices

Diğer durumlar ve etkinlikler

Uyku durumu

Sentetik kullanıcı için uyku durumlarını da tetikleyebilirsiniz. İki durum desteklenir: Uykuda ve uyanık.

Uyku durumuna geçmek için şu komutu çalıştırın:

adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

Uyanık duruma geçmek için şu komutu çalıştırın:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices

Düşme algılayıcı

Düşme simülasyonu yapmak için şu komutu çalıştırın:

adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices

Sağlık hizmetlerinin sonbahar etkinliğini teslim etmesi bir dakika kadar sürebilir.