שירותי בריאות ב-Wear OS

‫Wear OS 3 ומעלה כולל שירות שנקרא Health Services (שירותי בריאות). שירותי הבריאות פועלים כמתווך בין החיישנים השונים והאלגוריתמים הקשורים במכשיר, כדי לספק לאפליקציות נתונים איכותיים שקשורים לפעילות, לאימונים ולבריאות.

אפשר לראות אפליקציות כושר לדוגמה במאגר הדוגמאות של Health Services ב-GitHub.

איך שירותי הבריאות עוזרים למפתחי אפליקציות

בלי Health Services, אפליקציות צריכות להתחבר לחיישן אחד או יותר, להגדיר כל אחד מהם בצורה מתאימה, לקבל נתוני חיישנים גולמיים ולהשתמש באלגוריתמים משלהן כדי להפיק מידע משמעותי. לדוגמה, אפליקציה יכולה להירשם לעדכונים של Sensor.TYPE_PRESSURE כדי לקבל את לחץ האוויר הנוכחי, להשתמש בו כדי לחשב את הגובה הנוכחי ולצבור את הנתונים האלה לאורך זמן כדי להציג את שינויי הגובה במהלך סשן הפעילות של המשתמש.

שירותי הבריאות מגדירים באופן אוטומטי את כל החיישנים שקשורים לכושר ולבריאות בהתאם לתרחיש השימוש, אוספים נתוני חיישנים ומחשבים מדדים כמו דופק, מרחק, קלוריות, גובה, קומות, מהירות, קצב ועוד. אפליקציות יכולות להירשם לנתונים האלה ישירות מ-Health Services.

תרשים הארכיטקטורה של שירותי בריאות
איור 1: ארכיטקטורה של שירותי בריאות

אלה כמה מהיתרונות של השימוש בשירותי בריאות:

  • הפלטפורמה משתמשת באלגוריתמים מתקדמים שפועלים באופן מקורי.
  • התכונה חוסכת בסוללה באמצעות שימוש בהגדרות חיישנים מ-Health Services שעברו אופטימיזציה לצריכת חשמל יעילה.
  • האפליקציה תהיה מוכנה לשימוש במכשירי Wear מגרסה 3 ואילך. ממשק Health Services API עקבי במכשירי Wear 3 ואילך, ולכן קל יותר לעדכן את האפליקציה.
  • מאמת את עקביות הנתונים בכל האפליקציות באותו מכשיר באמצעות חישובים סטנדרטיים של הפלטפורמה.
  • מאפשרת חוויות שמתאימות לפעילות, כולל היכולת לזהות פעילות גופנית מתמשכת שהתחילה באפליקציה אחרת.

היתרונות האלה מאפשרים למפתחים להתמקד בפיתוח תכונות ייחודיות ובחוויית משתמש, תוך הסתמכות על הפלטפורמה שתספק מדדים מהימנים ועקביים בצורה חסכונית באנרגיה.

מושגים ב-Health Services

כשמפתחים באמצעות Health Services, חשוב לזכור את המושגים הבאים.

סוגי הנתונים

שירותי הבריאות מציעים מגוון נתונים שנאספים ומתעדכנים כל הזמן מכל המקורות הזמינים במכשיר. הנתונים מתחלקים לשתי קטגוריות רחבות: נתונים שנדגמו בנקודת זמן אחת, כמו HEART_RATE_BPM, ונתונים שנאספו לאורך פרק זמן, כמו DISTANCE.

למידע נוסף, אפשר לעיין ברשימה המלאה של סוגי נתונים.

אירועים

אפליקציות מקבלות אירועים כשהמשתמש מגיע למצב יעד או לאירוע מסוים. לדוגמה, משתמש יכול להגדיר מטרה של מרחק באפליקציית כושר, ואז האפליקציה תשלח לו התראה כשהוא ירוץ למרחק מסוים. אפשר גם להשתמש במטרה פסיבית במצבים כמו הגעה למספר צעדים מסוים או הירדמות.

מידע נוסף זמין במאמרים יעדים של פעילות גופנית ויעדים פסיביים.

סוגי תרגילים

שירותי הבריאות מתייחסים לפעילות גופנית כאל תכונה חשובה ותומכים במגוון רחב של סוגי פעילות גופנית, כמו ריצה או סקי. במהלך אימון, שירותי הבריאות יכולים לאסוף מדדים על סוגי נתונים נבחרים ולדווח בחזרה לאפליקציה שמנהלת את האימון.

מידע נוסף זמין ברשימה המלאה של סוגי תרגילים.

יצירת אפליקציות באמצעות Health Services

יוצרים אפליקציות באמצעות Health Services כמו שמתואר בקטעים הבאים.

חוויות פסיביות

באמצעות PassiveMonitoringClient, האפליקציה מטמיעה PassiveListenerService שמקבל עדכונים לגבי סוג נתונים או אירוע. השיטה הזו מתאימה לחוויות שימוש ארוכות טווח שבהן עדכוני הנתונים מתבצעים בתדירות נמוכה יחסית.

מידע נוסף זמין במאמר בנושא עדכונים פסיביים של נתונים.

חוויות פעילות

באמצעות MeasureClient, האפליקציה רושמת מאזינים כדי לקבל עדכוני נתונים מהירים. הן מתאימות לחוויות קצרות, למשל בזמן שהמשתמש מסתכל על ממשק המשתמש של האפליקציה. כדאי לצמצם את הזמן שבו האפליקציה פועלת עם שירות האזנה רשום, כי זה מגדיל את קצב הדגימה של החיישן וכך מגדיל את צריכת החשמל. ה-API הזה לא מיועד לצילום ברקע או למעקב אחר אימונים.

מידע נוסף זמין במאמר ביצוע מדידות בריאות נקודתיות באמצעות MeasureClient.

באמצעות ExerciseClient, האפליקציה יכולה לנהל את האימון של המשתמש, להגדיר יעדים לאימון ולהאזין לעדכונים לגבי מצב האימון הנוכחי. האפליקציה יכולה גם לקבל עדכוני נתונים מהירים דרך ה-API הזה, כל עוד הפעילות שייכת לאפליקציה. אפשר להשתמש ב-API הזה באפליקציות כמו אפליקציית ריצה שמאפשרת למשתמשים לתעד את הריצה שלהם, להציג מדדים בזמן אמת במכשיר ולתעד נתונים לצורך ניתוח נוסף.ExerciseClient

מידע נוסף זמין במאמר תיעוד של פעילות גופנית באמצעות ExerciseClient.

בדיקה באמצעות נתונים סינתטיים

כדי לבדוק שהאפליקציה מקבלת עדכוני נתונים מ-Health Services, צריך להגדיר ידנית את המכשיר כך שיפלוט נתונים כאילו משתמש מבצע פעילות גופנית.

מידע נוסף זמין במאמר בנושא שימוש בנתונים סינתטיים עם שירותי בריאות.