محاكاة بيانات جهاز الاستشعار باستخدام الخدمات الصحية

استخدِم بيانات اصطناعية يتم إنشاؤها من "خدمات الصحة" على نظام التشغيل Wear OS لاختبار تطبيقك كما لو كان يتم تنفيذ تمرين رياضي فعليًا.

إذا كنت تختبر التطبيق على جهاز محاكاة يعمل بنظام التشغيل Wear OS 3 (المستوى 30 من واجهة برمجة التطبيقات) أو إصدار أحدث، يمكنك استخدام البيانات الاصطناعية التي ينشئها جهاز المحاكاة. يمكنك الرجوع إلى الدليل التالي للحصول على مزيد من المعلومات عن الاختلافات بين إنشاء البيانات الاصطناعي في نظام التشغيل Wear OS 3 والإصدارات الأحدث.

استخدام البيانات الاصطناعية على Wear OS 4 والإصدارات الأحدث

إذا كنت تختبر التطبيق على جهاز محاكاة يعمل بنظام التشغيل Wear OS 4 (المستوى 33 من واجهة برمجة التطبيقات) أو إصدار أحدث، يمكنك استخدام البيانات الاصطناعية التي ينشئها المحاكي لاختبار تطبيقك. ويقدّم هذا الإجراء عددًا من التحسينات على كيفية إنشاء البيانات الاصطناعية في الإصدارات السابقة من Wear OS:

استخدام لوحة أجهزة الاستشعار في الخدمات الصحية

يتضمّن الإصدار العلني من الميزات الجديدة في Android Studio Koala (الإصدار التجريبي) خدمات الصحة في لوحة أدوات استشعار Wear OS. يمكن استخدام اللوحة لمحاكاة جهاز يتضمّن إمكانات محددة لأجهزة الاستشعار أو لا يتضمّنها، وهو أمر مهم للاختبار عند إنشاء تطبيقات اللياقة البدنية على نظام التشغيل Wear OS.

يمكنك أيضًا استخدام اللوحة لتغيير قيم المقاييس وملاحظة كيفية تعديل تطبيقك.

لفتح اللوحة واستخدامها، اتّبِع الخطوات التالية:

  1. أنشئ جهاز Android افتراضيًا (AVD) أو افتح جهازًا مماثلاً وشغِّل تطبيقك على المحاكي.
  2. في لوحة المحاكي، اختَر خدمات Wear Health. فتح لوحة "خدمات الصحة" في Wear يتم فتح لوحة خدمات Wear Health ، والتي تعرض قائمة بأجهزة الاستشعار المتاحة على مختلف أجهزة Android.

بعد فتح اللوحة، يمكنك إجراء ما يلي:

  • يمكنك التبديل بين الإمكانات العادية وجميع الإمكانات (الإعداد التلقائي) لاختيار مجموعة الإمكانات التي تريد تفعيلها أثناء التمرين التالي. يمكنك تفعيل الإمكانات الفردية أو إيقافها من خلال وضع علامة في مربّعات الاختيار. انقر على تطبيق لإرسال القائمة الحالية للخيارات إلى الجهاز المحاكي، ثم انقر على إعادة الضبط لاستعادة قائمة الخيارات إلى قيمها التلقائية "تفعيل" أو "إيقاف".
  • يمكنك بدء أحداث مستخدِمين مختلفة بعد اختيار الزرّ المنسدلة بدء الأحداث. من هنا، يمكنك بدء ميزة الإيقاف/الاستئناف التلقائي لأنشطة التمارين الرياضية، وبدء أحداث النوم التي يجريها المستخدم، وبدء لقطات لعبة الجولف التي يجريها المستخدم على ملعب جولف أو ملعب جولف مصغر.
  • يمكنك إلغاء قيم أداة الاستشعار بعد بدء تمرين في تطبيق تم تثبيته على المحاكي. بعد إدخال قيم جديدة لمقاييس التمارين المختلفة، انقر على تطبيق لمزامنة هذه القيم مع المحاكي. ويُعدّ ذلك مفيدًا لاختبار كيفية تعامل تطبيقك مع ظروف التمارين المختلفة ومؤشرات اللياقة البدنية للمستخدمين.

إنشاء بيانات اصطناعية باستخدام المحاكي

يمكنك أيضًا تشغيل تطبيقك بدون لوحة أجهزة الاستشعار وإنشاء البيانات تلقائيًا بواسطة المحاكي.

استخدِم عناصر التحكّم داخل التطبيق لبدء إنشاء البيانات التركيبية وإيقافها مؤقتًا وإنهائها.

يُرجى العلم أيضًا أنّ المحاكي ينشئ قيم البيانات نفسها لكل تمرين.

محاكاة الأحداث

يمكنك محاكاة أحداث مختلفة في المحاكي، مثل AUTO_PAUSE_DETECTED. يمكن استخدام الأمر التالي لبدء هذه الأحداث:

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

الأحداث الاصطناعية

حدث

المفتاح

تم رصد ميزة "التوقف التلقائي"

whs.AUTO_PAUSE_DETECTED

تم رصد ميزة "استئناف البث تلقائيًا"

whs.AUTO_RESUME_DETECTED

تم رصد سقوطك

whs.FALL_OVER

تم رصد النوم

whs.START_SLEEPING

تم رصد إيقاف وضع السكون

whs.STOP_SLEEPING

رصد لقطة غولف

whs.GOLF_SHOT

على سبيل المثال، يمكنك استخدام الأمر التالي لبدء حدث إيقاف مؤقت تلقائي:

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

بالنسبة إلى أحداث ضربات الغولف، عليك تحديد مَعلمات إضافية لنوع ضربة الغولف، والموضَّحة أدناه:

نوع ضربة الجولف

المَعلمة

نوع التسديدة

الضربة الرقيقة

نوع الأرجوحة الجزئية

جزئي

نوع الأرجوحة الكاملة

كامِل

أضِف نوع ضربة الجولف بعد تحديد حدث ضربة الجولف:

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

على سبيل المثال، يؤدي الأمر التالي إلى تشغيل لقطة جزئية للغولف:

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

استخدام البيانات الاصطناعية على نظام التشغيل Wear OS 3

إذا كنت تختبِر التطبيق على جهاز محاكاة يعمل بنظام التشغيل Wear OS 3، يمكنك أيضًا استخدام بيانات اصطناعية لاختبار تطبيقك.

تفعيل إنشاء البيانات الاصطناعية

أكمِل الخطوات التالية لتفعيل إنشاء البيانات الاصطناعيّة على نظام التشغيل Wear OS 3.

  1. فعِّل خيارات المطوّرين.
  2. أدخِل الأمر adb التالي لتفعيل الوضع الاصطناعي:

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

بعد تفعيل إنشاء البيانات الاصطناعيّة، يمكنك إصدار الأوامر الموضّحة في هذه الصفحة للتحكّم في سلوك "المستخدم الاصطناعي".

إيقاف إنشاء البيانات الاصطناعية

للرجوع إلى استخدام أجهزة الاستشعار الحقيقية، شغِّل الأمر التالي:

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

التمارين الاصطناعية

تتيح "خدمات الصحة" أنواع التمارين التالية:

  • المشي: whs.synthetic.user.START_WALKING
  • الجري: whs.synthetic.user.START_RUNNING
  • المشي لمسافات طويلة: whs.synthetic.user.START_HIKING
  • السباحة: whs.synthetic.user.START_SWIMMING
  • الركض على جهاز المشي: whs.synthetic.user.START_RUNNING_TREADMILL

تنشئ التمارين بيانات اصطناعية واقعية لأنواع البيانات التالية:

  • معدل نبضات القلب
  • عدد الخطوات في الدقيقة
  • الموقع الجغرافي وفقًا لنظام تحديد المواقع العالمي (GPS)، باستخدام مسار تلقائي واحد
  • مدة النشاط
  • الارتفاع والأرضيات

بالإضافة إلى ذلك، يمكن إنشاء الحالات التالية:

  • حالة النوم: نائم أو مستيقظ
  • رصد السقوط

بدء

لبدء محاكاة تمرين، أرسِل البث المناسب إلى com.google.android.wearable.healthservices:

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

يحتوي كل نشاط على إعدادات مسبقة للمقاييس المتوافقة:

النشاط معدل نبضات القلب متوسط السرعة تغيير الارتفاع استخدام الموقع الجغرافي
المشي ‫120 نبضة في الدقيقة 1.4 متر في الثانية 20.0 متر في الدقيقة صحيح
ركض 170 نبضة في الدقيقة 2.3 متر في الثانية 20.0 متر في الدقيقة صحيح
رحلة مسير ‫150 نبضة في الدقيقة 1.3 متر في الثانية 20.0 متر في الدقيقة صحيح
سباحة ‫150 نبضة في الدقيقة 1.6 متر في الثانية 0.0 متر في الدقيقة صحيح
الركض على جهاز المشي ‫160 نبضة في الدقيقة 2.3 متر في الثانية 20.0 متر في الدقيقة خطأ

إيقاف

لإيقاف النشاط الاصطناعي، استخدِم الأمر التالي:

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

قرض مخصص

للتحكّم بشكل أدق في المقاييس التي يتم إنشاؤها، ابدأ نشاطًا مخصّصًا للتمرين باستخدام سلسلة الإجراءات whs.synthetic.user.START_EXERCISE. قدِّم أيّ مجموعة من العلامات التالية:

  • --ei exercise_options_duration_secs <int>: مدة التمرين بالثواني القيمة التلقائية: 0.
  • --ei exercise_options_heart_rate <int>: معدّل نبضات القلب بعدد النبضات في الدقيقة متوسّط: 70
  • --ef exercise_options_average_speed <float>: متوسط السرعة بالكيلومتر في الساعة يؤثر أيضًا في عدد الخطوات في الدقيقة أو الإيقاع. القيمة التلقائية: 0.
  • --ez exercise_options_use_location <boolean>: تحديد ما إذا كان سيتم إرسال بيانات الموقع الجغرافي أثناء التمرين باستخدام مسار تلقائي القيمة التلقائية: false.
  • --ef exercise_options_max_elevation_rate <float>: أقصى معدّل ممكن لتغيُّر الارتفاع بالأمتار في الدقيقة القيمة التلقائية: 0.

على سبيل المثال، يمكنك ضبط خيارات التمارين بالطريقة التالية:

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

يمكنك أيضًا تغيير أنواع البيانات المتاحة، سواء كانت الأجهزة الحقيقية أو المحاكية تتوافق مع نوع بيانات معيّن أم لا. على سبيل المثال، يمكنك تفعيل أو إيقاف الارتفاع المطلق، كما هو موضّح في المقتطف التالي:

# 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

الحالات والأحداث الأخرى

حالة السكون

يمكنك أيضًا تشغيل حالات السكون للمستخدم الاصطناعي. تتوفّر حالتان: النوم والاستيقاظ.

للدخول إلى حالة السكون، نفِّذ الأمر التالي:

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

للدخول إلى حالة الاستيقاظ، نفِّذ الأمر التالي:

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

رصد السقوط

لمحاكاة السقوط، نفِّذ الأمر التالي:

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

قد يستغرق إرسال الخدمات الصحية لحدث السقوط مدة تصل إلى دقيقة.