אפשר להשתמש בנתונים סינתטיים שנוצרו מ-Health Services ב-Wear OS כדי לבדוק את האפליקציה כאילו מתבצע אימון אמיתי.
אם אתם מבצעים בדיקה באמולטור עם Wear OS 3 (רמת API 30) או גרסה מתקדמת יותר, אתם יכולים להשתמש בנתונים סינתטיים שנוצרו על ידי האמולטור. במדריך הבא מוסבר מה ההבדלים בין יצירת נתונים סינתטיים ב-Wear OS 3 ובגרסאות מתקדמות יותר.
שימוש בנתונים סינתטיים ב-Wear OS 4 ואילך
אם אתם מבצעים בדיקה באמולטור שמריץ Wear OS 4 (רמת API 33) או גרסה מתקדמת יותר, אתם יכולים להשתמש בנתונים סינתטיים שנוצרו על ידי האמולטור כדי לבדוק את האפליקציה. יש כמה שיפורים בדרך שבה נתונים סינתטיים נוצרים בגרסאות קודמות של Wear OS:
יצירת נתונים סינתטיים ב-Wear OS 4 ואילך משולבת במחזור החיים של Health Services API. כלומר, לא צריך להשתמש בפקודות adb כדי להתחיל או להפסיק את התרגיל. במקום זאת, אתם יכולים להתחיל או להפסיק את התרגיל באפליקציה כמו משתמשים.
הרחבת התמיכה באירועי פעילות גופנית: אפשר לדמות קבלת אירועים של הפסקה אוטומטית וחידוש הפעילות, אירועים של נפילה, זיהוי שינה וזיהוי של חבטות גולף.
שימוש בחלונית החיישנים של שירותי הבריאות
Android Studio Koala Feature Drop (Canary) כולל חלונית חיישנים של שירותי בריאות ב-Wear OS. אפשר להשתמש בחלונית כדי לדמות מכשיר עם יכולות חיישן ספציפיות או בלי יכולות כאלה. זה חשוב לבדיקה כשמפתחים אפליקציות כושר ב-Wear OS.
אפשר גם להשתמש בחלונית כדי לשנות את ערכי המדדים ולראות איך האפליקציה משתנה.
כדי לפתוח את החלונית ולהשתמש בה:
- יוצרים או פותחים מכשיר וירטואלי של Android (AVD) ומריצים את האפליקציה באמולטור.
- בחלונית של האמולטור, בוחרים באפשרות Wear Health Services (שירותי בריאות של Wear).
נפתחת החלונית Wear Health Services, שבה מוצגת רשימה של חיישנים שזמינים במכשירים שונים עם מערכת הפעלה Android.
אחרי שהחלונית נפתחת, אפשר לבצע את הפעולות הבאות:
- אפשר לעבור בין יכולות רגילות לבין כל היכולות (ברירת מחדל) כדי לבחור את קבוצת היכולות שיופעלו בתרגיל הבא. כדי להפעיל או להשבית יכולות ספציפיות, מסמנים את תיבות הסימון. לוחצים על החלה כדי לשלוח את רשימת היכולות הנוכחית למכשיר המדומה, ולוחצים על איפוס כדי לשחזר את רשימת היכולות לערכי ברירת המחדל שלהן (מופעל או מושבת).
- אחרי שלוחצים על הלחצן של התפריט הנפתח הפעלת אירועים, מפעילים אירועים שונים של משתמשים. מכאן אפשר להפעיל השהיה אוטומטית או המשך של פעילויות כושר, להפעיל אירועי שינה על ידי המשתמש ולהפעיל חבטות גולף שהמשתמש מבצע במגרש גולף או במגרש מיני גולף.
- אפשר לשנות את ערכי החיישנים אחרי שמתחילים פעילות גופנית באפליקציה שמותקנת באמולטור. אחרי שמזינים ערכים חדשים למדדים שונים של פעילות גופנית, בוחרים באפשרות החלה כדי לסנכרן את הערכים האלה עם האמולטור. האפשרות הזו שימושית לבדיקה של האופן שבו האפליקציה מתמודדת עם תנאי אימון שונים ועם נטיות כושר שונות של משתמשים.
יצירת נתונים סינתטיים באמצעות האמולטור
אפשר גם להריץ את האפליקציה בלי חלונית החיישנים, והנתונים ייווצרו אוטומטית על ידי האמולטור.
אפשר להשתמש באמצעי הבקרה בתוך האפליקציה כדי להתחיל, להשהות ולסיים את יצירת הנתונים הסינתטיים.
חשוב גם לדעת שהאמולטור יוצר את אותם ערכי נתונים לכל תרגיל.
סימולציה של אירועים
אפשר לדמות אירועים שונים באמולטור, כמו AUTO_PAUSE_DETECTED.
אפשר להשתמש בפקודה הבאה כדי להפעיל את האירועים האלה:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
אירועים סינתטיים
אירוע |
מפתח |
|---|---|
זוהתה השהיה אוטומטית |
|
זוהה המשך אוטומטי |
|
זוהתה נפילה |
|
זוהתה שינה |
|
זוהתה עצירה של השינה |
|
זיהוי של חבטת גולף |
|
לדוגמה, אפשר להשתמש בפקודה הבאה כדי להפעיל אירוע של השהיה אוטומטית:
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, פועלים לפי השלבים הבאים.
- מפעילים את האפשרויות למפתחים.
מריצים את הפקודה הבאה של
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 מ'/דקה | true |
| ריצה | 170 פעימות בדקה | 2.3 מ' לשנייה | 20.0 מ'/דקה | true |
| טיול רגלי | 150 פעימות בדקה | 1.3 מ'/שנייה | 20.0 מ'/דקה | true |
| שחייה | 150 פעימות בדקה | 1.6 מ' לשנייה | 0.0 מ'/דקה | true |
| ריצה על הליכון | 160 פעימות לדקה | 2.3 מ' לשנייה | 20.0 מ'/דקה | false |
עצירה
כדי להפסיק את הפעילות הסינתטית, משתמשים בפקודה הבאה:
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
יכול להיות שיעברו עד דקה עד ששירותי הבריאות יספקו את אירוע הנפילה.
מומלץ בשבילך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- SourceType
- ArithmeticExpression
- ListConfiguration