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 ile Wear OS 4'te sentetik veri oluşturma arasındaki farklar hakkında daha fazla bilgi için aşağıdaki kılavuza bakın.

Wear OS 4'te yapay veri kullanma

Wear OS 4 (API 33) ç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 3'te sentetik verilerin oluşturulma şekliyle ilgili çeşitli iyileştirmeler sunar:

Sağlık Hizmetleri Sensörü Panelini kullanma

Android Studio Koala Özellik Düşüşü (Canary), Wear OS sensör panelinde Sağlık Hizmetleri içerir. Panel, belirli sensör özelliklerine sahip olan veya olmayan bir cihazı simüle etmek için kullanılabilir. Bu, Wear OS'te fitness uygulamaları oluştururken test edilmesi önemlidir.

Bu paneli kullanarak metriklerin değerlerini değiştirebilir ve uygulamanızın nasıl uyum sağladığını gözlemleyebilirsiniz.

Paneli açmak ve 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 (Wear Sağlık Hizmetleri) seçin. Wear Sağlık Hizmetleri panelini aç Wear Sağlık Hizmetleri paneli açılarak Android destekli farklı cihazlarda kullanılabilen sensörlerin listesini gösterir.

Panel açıldıktan sonra aşağıdakileri yapabilirsiniz:

  • Standart özellikler, Tüm özellikler (varsayılan) veya Özel arasında geçiş yapın. Geçerli özellikler listesini emüle edilen cihaza göndermek için Uygula'yı, özellikler listesini varsayılan açma/kapatma değerlerine geri yüklemek için Sıfırla'yı seçin.
  • Etkinlikleri tetikle açılır düğmesini seçtikten sonra farklı kullanıcı etkinliklerini tetikleyin. Buradan, fitness aktivitelerinin otomatik olarak duraklatılmasını/devam ettirilmesini tetikleyebilir, kullanıcı tarafından Uyku etkinliklerini tetikleyebilir ve kullanıcının golf sahasında veya mini golf sahasında çektiği Golf vuruşlarını tetikleyebilirsiniz.
  • Emülatörde yüklü olan bir uygulamada egzersize başladıktan sonra sensör değerlerini geçersiz kılın. 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 trendlerini nasıl yönettiğini test etmek için faydalıdır.

Emülatörle yapay veri oluşturma

Ayrıca 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ü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

Yapay etkinlikler

Etkinlik

Anahtar

Otomatik Duraklatma Algılandı

whs.AUTO_PAUSE_DETECTED

Otomatik Devam Ettirme 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 Şutu 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 vuruşu türü için aşağıda özetlenen ek parametreler belirtmeniz gerekir:

Golf Şut İçin Salıncak Türü

Parametre

Salıncak Tipi

putt vuruşu

Salıncak Kısmi Tipi

kısmi

Tam Tür

tam

Golf atışı etkinliğini belirttikten sonra golf şut vuruşu 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 yapay veri kullanma

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

Sentetik veri oluşturmayı etkinleştir

Wear OS 3'te sentetik veri oluşturmayı etkinleştirmek için aşağıdaki adımları tamamlayı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ı" davranışını kontrol etmek için bu sayfada açıklanan sorun komutları.

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ı
  • Tek bir varsayılan rota kullanan GPS konumu
  • Etkinlik süresi
  • Yükseklik ve katlar

Buna ek olarak, aşağıdaki durumlar oluşturulabilir:

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

Başlangıç

Bir egzersizi simüle etmeye başlamak için com.google.android.wearable.healthservices adresine uygun yayını yayınlayın:

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

Her etkinlik, desteklenen metrikler için hazır ayarlara sahiptir:

Etkinlik Nabız Ortalama hız Yükseklik değişikliği Konumu kullan
Yürüyüş 120 nabız/dk 1,4 m/sn 20,0 m/dk true
Çalışıyor 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şu 160 nabız/dk 2,3 m/sn 20,0 m/dk false

Durdur

Yapay 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 bir kontrol sahibi olmak için whs.synthetic.user.START_EXERCISE işlem dizesini kullanarak bir özel alıştırma 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ı veya sıklığı da etkiler. Varsayılan: 0.
  • --ez exercise_options_use_location <boolean>: egzersiz sırasında varsayılan rota kullanılarak 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 yükseklik değişim hızı. Varsayılan: 0.

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

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

Ayrıca, gerçek veya emülasyonlu 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

Ayrıca, yapay kullanıcı için uyku durumlarını tetikleyebilirsiniz. İki durum desteklenir: uyku 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 mevsimini teslim etmesi bir dakika kadar sürebilir.