Health Services در Wear OS

Wear OS 3 و بالاتر شامل سرویسی به‌نام خدمات سلامتی است. «خدمات سلامت» به‌عنوان واسطه‌ای برای حسگرهای مختلف و الگوریتم‌های مرتبط در دستگاه عمل می‌کند تا داده‌های باکیفیت مربوط به فعالیت، تمرین، و سلامتی را به برنامه‌ها ارائه دهد.

برای دیدن نمونه برنامه‌های تناسب اندام، مخزن نمونه‌های Health Services را در GitHub ببینید.

چگونه «خدمات سلامت» به توسعه‌دهندگان نرم‌افزار کمک می‌کند

بدون Health Services، برنامه‌ها باید به یک یا چند حسگر متصل شوند، هرکدام را به‌درستی پیکربندی کنند، داده‌های خام حسگر را دریافت کنند، و از الگوریتم‌های خودشان برای استخراج اطلاعات معنادار استفاده کنند. برای مثال، ممکن است برنامه‌ای برای دریافت به‌روزرسانی‌های Sensor.TYPE_PRESSURE ثبت‌نام کند تا فشار هوای فعلی را دریافت کند، از آن برای محاسبه ارتفاع فعلی استفاده کند، و این داده‌ها را درطول زمان جمع‌آوری کند تا تغییرات ارتفاع را درطول جلسه فعالیت کاربر نشان دهد.

«خدمات سلامت» به‌طور خودکار همه حسگرهای مربوط به تناسب اندام و سلامت را به‌طور مناسب برای مورد استفاده پیکربندی می‌کند، داده‌های حسگر را جمع‌آوری می‌کند، و سنجه‌هایی مانند ضربان قلب، مسافت، کالری، ارتفاع، طبقات، سرعت، گام، و موارد دیگر را محاسبه می‌کند. برنامه‌ها می‌توانند مستقیماً از «خدمات سلامت» برای این داده‌ها ثبت‌نام کنند.

نمودار معماری «خدمات سلامت»
شکل ۱: معماری Health Services

برخی‌از مزایای استفاده از «خدمات سلامت» شامل موارد زیر می‌شود:

  • از الگوریتم‌های قدرتمندی که به‌طور بومی در پلاتفرم اجرا می‌شوند بهره می‌برد.
  • بااستفاده از پیکربندی‌های حسگر از «خدمات سلامت» که برای بهره‌وری انرژی بهینه‌سازی شده‌اند، در مصرف باتری صرفه‌جویی می‌کند.
  • برنامه را برای دستگاه‌های Wear 3+‎ در آینده آماده می‌کند. میانای برنامه‌سازی کاربردی «خدمات بهداشتی» در سراسر دستگاه‌های Wear 3+‎ سازگار است و به‌روز نگه داشتن برنامه‌تان را آسان‌تر می‌کند.
  • بااستفاده از محاسبات پلاتفرم استانداردشده، سازگاری داده‌ها را در همه برنامه‌های موجود در یک دستگاه تأیید می‌کند.
  • تجربه‌های آگاه از فعالیت را فعال می‌کند، ازجمله توانایی تشخیص تمرین درحال انجام که از برنامه دیگری شروع شده است.

این مزایا به توسعه‌دهندگان امکان می‌دهد بر توسعه ویژگی‌های منحصربه‌فرد و تجربه‌های کاربری تمرکز کنند و درعین‌حال برای ارائه سنجه‌های قوی و سازگار به‌شیوه‌ای کم‌مصرف به پلاتفرم تکیه کنند.

مفاهیم خدمات سلامت

هنگام توسعه با «خدمات سلامت»، مفاهیم زیر را درنظر داشته باشید.

انواع داده

«خدمات بهداشتی» انواع مختلفی از داده‌ها را ارائه می‌دهد که از همه منابع موجود در دستگاه جمع‌آوری و به‌طور مداوم به‌روزرسانی می‌شوند. داده‌ها به دو دسته کلی تقسیم می‌شوند: داده‌های نمونه‌برداری‌شده در یک نقطه زمانی خاص، مانند HEART_RATE_BPM، و داده‌های گرفته‌شده در یک بازه زمانی، مانند DISTANCE.

برای اطلاعات بیشتر، فهرست کامل انواع داده را ببینید.

رویدادها

وقتی کاربر به وضعیت یا رویداد هدف خاصی می‌رسد، برنامه‌ها رویدادها را دریافت می‌کنند. برای مثال، کاربر می‌تواند هدف مسافتی را در برنامه تمرین ورزشی ثبت کند و سپس برنامه وقتی کاربر مسافت خاصی را دوید به او اطلاع دهد. یا از هدف تابع برای موقعیت‌هایی مثل رسیدن کاربر به تعداد قدم‌های مشخص یا خوابیدن استفاده کنید.

برای اطلاعات بیشتر، به اهداف تمرین و اهداف تابع مراجعه کنید.

انواع تمرین

«خدمات سلامت» تمرین را به‌عنوان ویژگی اصلی درنظر می‌گیرد و از انواع مختلف تمرین، مثل دویدن یا اسکی، پشتیبانی می‌کند. درحالی‌که تمرینی درحال انجام است، «خدمات سلامت» می‌تواند سنجه‌های مربوط به انواع داده‌های انتخاب‌شده را جمع‌آوری کند و به برنامه‌ای که تمرین را مدیریت می‌کند گزارش دهد.

برای اطلاعات بیشتر، فهرست کامل انواع تمرین را ببینید.

ایجاد برنامه‌ها بااستفاده از Health Services

برنامه‌هایی را بااستفاده از «خدمات سلامت» ایجاد کنید، همان‌طور که در بخش‌های زیر توضیح داده شده است.

تجربه‌های منفعل

بااستفاده از PassiveMonitoringClient، برنامه شما PassiveListenerService را پیاده‌سازی می‌کند که به‌روزرسانی‌های مربوط به نوع داده یا رویداد را دریافت می‌کند. این روش برای تجربه‌های طولانی‌مدت که در آن‌ها به‌روزرسانی داده‌ها نسبتاً کم است مناسب است.

برای اطلاعات بیشتر، به‌روزرسانی‌های داده‌های غیرفعال را ببینید.

تجربه‌های فعال

بااستفاده از MeasureClient، برنامه‌تان شنوندگان را برای دریافت به‌روزرسانی‌های سریع داده ثبت می‌کند. این حالت برای تجربه‌های کوتاه‌مدت مناسب است، مثلاً زمانی که کاربر به واسط کاربر برنامه شما نگاه می‌کند. سعی کنید مدت زمانی را که برنامه‌تان با شنونده ثبت‌شده می‌گذراند به‌حداقل برسانید، زیرا این کار نرخ نمونه‌برداری حسگر را افزایش می‌دهد و درنتیجه مصرف برق را افزایش می‌دهد. این میانای برنامه‌سازی کاربردی برای ضبط پس‌زمینه یا پیگیری تمرین درنظر گرفته نشده است.

برای اطلاعات بیشتر، اندازه‌گیری‌های نقطه‌ای سلامتی با MeasureClient را ببینید.

بااستفاده از ExerciseClient، برنامه‌تان می‌تواند تمرین کاربر را مدیریت کند، اهداف تمرین را تنظیم کند، و به‌روزرسانی‌های مربوط به وضعیت تمرین فعلی را دریافت کند. برنامه شما همچنین می‌تواند ازطریق این میانای برنامه‌سازی کاربردی به‌روزرسانی‌های سریع داده را دریافت کند، به‌شرطی که تمرین متعلق به برنامه شما باشد. ExerciseClient می‌تواند برای برنامه‌هایی مانند برنامه دویدن استفاده شود که به کاربران امکان می‌دهد دویدن خود را ضبط کنند، سنجه‌های زنده را در دستگاهشان نمایش دهند، و داده‌ها را برای تحلیل بیشتر ضبط کنند.

برای اطلاعات بیشتر، ثبت تمرین با ExerciseClient را ببینید.

آزمایش با داده‌های سنتزی

برای آزمایش اینکه برنامه‌تان به‌روزرسانی‌های داده را از «خدمات سلامت» دریافت می‌کند، دستگاهتان را به‌صورت دستی تنظیم کنید تا داده‌ها را طوری منتشر کند که انگار کاربر درحال ورزش کردن است.

برای اطلاعات بیشتر، استفاده از داده‌های مصنوعی با «خدمات سلامت» را ببینید.