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

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

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

איך Health Services עוזר למפתחי אפליקציות

בלי 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, צריך להגדיר באופן ידני את המכשיר כך שיפלוט נתונים כאילו משתמש מבצע פעילות גופנית.

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