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

Uygulamanızı gerçek bir egzersiz gerçekleşiyormuş gibi test etmek için Wear OS'teki Sağlık Hizmetleri'nden oluşturulan sentetik verileri kullanın.

Wear OS 3 (API düzeyi 30) veya sonraki bir sürümü çalıştıran bir emülatörde test ediyorsanız emülatör tarafından oluşturulan sentetik verileri kullanabilirsiniz. Wear OS 3 ve sonraki sürümler 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 ve sonraki sürümlerde sentetik verileri kullanma

Wear OS 4 (API düzeyi 33) veya sonraki bir sürümü çalıştıran bir emülatörde test yapıyorsanız uygulamanızı test etmek için emülatör tarafından oluşturulan sentetik verileri kullanabilirsiniz. Bu, Wear OS'in önceki sürümlerinde sentetik verilerin oluşturulma şekline kıyasla bir dizi iyileştirme sunar:

Sağlık Hizmetleri Sensör Paneli'ni kullanma

Android Studio Koala özellik sürümü (Canary), Wear OS sensör panelinde Sağlık Hizmetleri'ni içerir. Panel, belirli sensör özelliklerine sahip veya sahip olmayan bir cihazı simüle etmek için kullanılabilir. Bu, Wear OS'te fitness uygulamaları geliştirirken test edilmesi gereken önemli bir özelliktir.

Paneli kullanarak metriklerin değerlerini değiştirebilir ve uygulamanızın nasıl ayarlandığını gözlemleyebilirsiniz.

Paneli açıp kullanmak için aşağıdakileri yapın:

  1. Bir Android sanal cihazı (AVD) oluşturun veya açın ve uygulamanızı emülatörde çalıştırın.
  2. Emülatör panelinde Wear Health Services'i seçin. Wear Sağlık Hizmetleri panelini açma Wear Sağlık Hizmetleri paneli açılır. Bu panelde, Android işletim sistemli farklı cihazlarda kullanılabilen sensörlerin listesi gösterilir.

Panel açıldıktan sonra şunları yapabilirsiniz:

  • Bir sonraki alıştırma sırasında etkinleştirilecek özellik grubunu seçmek için Standart özellikler ile Tüm özellikler (varsayılan) arasında geçiş yapın. Onay kutularını seçerek özellikleri tek tek etkinleştirebilir veya devre dışı bırakabilirsiniz. Mevcut özellik listesini taklit edilen cihaza göndermek için Uygula'yı, özellik listesini varsayılan açma/kapatma değerlerine geri yüklemek için Sıfırla'yı seçin.
  • Etkinlikleri tetikle açılır menüsünü seçtikten sonra farklı kullanıcı etkinliklerini tetikleyin. Buradan, fitness etkinliklerinin otomatik olarak duraklatılmasını/devam ettirilmesini tetikleyebilir, kullanıcının uyku etkinliklerini tetikleyebilir ve kullanıcının golf sahasında veya mini golf sahasında yaptığı golf vuruşlarını tetikleyebilirsiniz.
  • Emülatöre yüklenmiş bir uygulamada egzersize başladıktan sonra sensör değerlerini geçersiz kılabilirsiniz. Farklı egzersiz metrikleri için yeni değerler girdikten sonra bu değerleri emülatörle senkronize etmek için Uygula'yı seçin. Bu, uygulamanızın farklı egzersiz koşullarını ve kullanıcıların fitness eğilimlerini nasıl ele aldığını test etmek için yararlıdır.

Emülatör ile sentetik veri oluşturma

Uygulamanızı sensör paneli olmadan da çalıştırabilir ve verilerin emülatör tarafından otomatik olarak oluşturulmasını sağlayabilirsiniz.

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

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

Etkinlikleri simüle etme

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 Devam Etme Algılandı

whs.AUTO_RESUME_DETECTED

Düşme Algılandı

whs.FALL_OVER

Uyku Algılandı

whs.START_SLEEPING

Uyku Durduruldu Algılandı

whs.STOP_SLEEPING

Golf Atışı Algılandı

whs.GOLF_SHOT

Örneğin, 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ışı etkinlikleri için golf atışı vuruş türü ile ilgili ek parametreleri belirtmeniz gerekir. Bu parametreler aşağıda açıklanmıştır:

Golf Vuruş Salıncak Türü

Parametre

Salıncak Putt Türü

putt vuruşu

Salıncak Kısmi Türü

kısmi

Salıncak Tam Türü

tam

Golf atışı etkinliğini belirttikten sonra golf atışı vuruş 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 atışını 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 verileri 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ştirme

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 verin:

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

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

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

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:

  • Yürüyüş: whs.synthetic.user.START_WALKING
  • Çalışıyor: whs.synthetic.user.START_RUNNING
  • Doğa 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ı
  • Tek bir varsayılan rota kullanan GPS konumu
  • Etkinliğin süresi
  • Yükseklik ve katlar

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

  • Uyku durumu: uykuda veya uyanık
  • Düşme algılayıcı

Başlangıç

Bir egzersizi simüle etmeye başlamak için com.google.android.wearable.healthservices'e uygun yayını gönderin:

# 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şimi Konumu kullan
Yaya 120 nabız/dk. 1,4 m/sn. 20,0 m/dk. doğru
Çalışıyor 170 nabız/dk. 2,3 m/sn. 20,0 m/dk. doğru
Doğa yürüyüşü 150 nabız/dk. 1,3 m/sn. 20,0 m/dk. doğru
Yüzme 150 nabız/dk. 1,6 m/sn 0,0 m/dk. doğru
Koşu bandında koşu 160 nabız/dk. 2,3 m/sn. 20,0 m/dk. yanlış

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

Hangi metriklerin oluşturulacağı üzerinde daha hassas kontrol sahibi 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 (dakikada kalp atışı sayısı). Ortalama: 70.
  • --ef exercise_options_average_speed <float>: saniyede metre cinsinden ortalama hız. Ayrıca dakikadaki adım sayısını veya adım ritmini de etkiler. Varsayılan: 0.
  • --ez exercise_options_use_location <boolean>: Varsayılan bir rota kullanılarak egzersiz sırasında konum verilerinin gönderilip gönderilmeyeceği. Varsayılan: false.
  • --ef exercise_options_max_elevation_rate <float>: dakika başına metre cinsinden mümkün olan maksimum yükseklik 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 taklit donanımın belirli bir veri türünü destekleyip desteklemediğini ve 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 eyaletler ve etkinlikler

Uyku durumu

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

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

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

Uyanıklık durumuna girmek 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 düşme etkinliğini yayınlaması bir dakikayı bulabilir.