رابط برنامهنویسی کاربردی خدمات سلامت Wear (WHS) یک جزء اجباری برای همه دستگاههایی است که از Wear OS 3 و بالاتر استفاده میکنند، زیرا یک سطح یکپارچهسازی سازگار برای توسعهدهندگان سلامت و تناسب اندام فراهم میکند. برنامه خود را طوری بسازید که به راحتی با بسیاری از دستگاهها و قابلیتهای متفاوت آنها سازگار شود تا سازگاری بین دستگاهها حفظ شود و از مشکلات تجربه کاربری جلوگیری شود. برای انجام این کار، وابستگیها را فقط برای کلاینتهایی که برنامه شما از آنها استفاده میکند، اعلام کنید. علاوه بر این، به برنامه خود این انعطافپذیری را بدهید که معیارهای پیشرفته اختیاری را بر اساس در دسترس بودن آنها نمایش یا حذف کند.
حسگرهای مختلف، دادهها را در فرکانسهای مختلفی تولید میکنند که در هر دستگاه، بسته به سختافزار و پلتفرم حسگر، متفاوت است. برای مثال، یک دستگاه ممکن است ضربان قلب را در یک بازه زمانی و مکان را در بازه زمانی دیگری بازگرداند. برنامههایی ایجاد کنید که بتوانند جریانهای داده مستقل را در بازههای زمانی مختلف یا در بازههای زمانی با همپوشانی دریافت کنند.
این راهنما، رفتارهای مورد انتظار و انواع دادههای پشتیبانیشده توسط مشتریان مختلف در Wear Health Services را شرح میدهد.
کلاینت ورزشی
بخشهای زیر رفتارها و انواع دادههای مورد انتظار ExerciseClient را شرح میدهند.
رفتارهای مورد انتظار
برای ExerciseClient ، برخی از انواع تمرینها به در دسترس بودن انواع دادههای خاص بستگی دارند. به عنوان مثال، تمرینهای ویلچر فقط در صورتی در دسترس هستند که از هل دادن ویلچر پشتیبانی شود. این گزینهها را بر اساس در دسترس بودن آنها در یک دستگاه خاص فعال و غیرفعال کنید.
اکثر انواع دادههای تمرینی در فواصل یک ثانیهای نمونهبرداری و تحویل داده میشوند، البته با برخی استثنائات:
- در برخی شرایط، برخی از انواع دادههای ورزشی بیش از یک بار در ثانیه بهروزرسانی میشوند. برای مثال، وقتی کاربر در حال دویدن است، تعداد گامها بیش از یک بار در ثانیه بهروزرسانی میشود.
- برای برخی از انواع دادهها، بهروزرسانی فقط در صورتی ارائه میشود که مقدار فعلی با مقدار قبلی متفاوت باشد.
تحویل دادهها میتواند به صورت جریانی یا دستهای باشد. دادهها در حالی که پردازنده برنامه روشن است، جریانی میشوند، که معمولاً زمانی است که صفحه نمایش روشن و تعاملی است. هنگامی که صفحه نمایش خاموش میشود یا به حالت محیطی (روشن اما غیر تعاملی) میرود، دادهها به منظور صرفهجویی در مصرف برق، دسته بندی میشوند. دادههای دستهای یا زمانی که پردازنده برنامه دوباره روشن میشود، یا به دلیل خارج شدن ساعت از حالت محیطی، یا زمانی که بافرهای دسته بندی پر شدهاند، که بسته به دستگاه متفاوت است، به برنامه تحویل داده میشوند. نرخ نمونهبرداری در حالی که دستگاه در حالت محیطی است، یکسان باقی میماند، بنابراین دستهای که تحویل داده میشود، هنوز دارای نقاط داده با فرکانس بالا است.
انواع دادهها صرفاً از دادههای تولید شده توسط حسگرهای ساعت مشتق میشوند. برای مثال، دادههای موقعیت مکانی کاملاً از ساعت میآیند و نه از تلفن.
انواع داده
رابط برنامهنویسی کاربردی ExerciseClient به شما امکان میدهد تمرینات از انواع مختلف را شروع، مکث، از سر بگیرید و متوقف کنید. برای هر تمرین، WHS مجموعهای از انواع داده را تعریف میکند که برای آن نوع تمرین در دسترس شما قرار میگیرند. این امر باعث صرفهجویی در مصرف برق و سادهسازی منطق برنامه شما میشود، زیرا حسگرهایی که برای یک تمرین خاص مورد نیاز نیستند، روشن نمیشوند. به عنوان مثال، هنگام شروع دویدن، دادههای مکان فقط برای دویدن در فضای باز ارائه و ردیابی میشوند. هنگام شروع تمرین دوچرخهسواری، تعداد قدمها ارائه یا ردیابی نمیشوند. بخشهای زیر شرحی از انواع دادههایی را که در ExerciseClient پشتیبانی میشوند، ارائه میدهند.
انواع دادههای تمرینی موجود در همه دستگاهها
انواع دادههای تمرینی زیر در همه دستگاهها موجود است.
- انواع دادههای نمونه، یک نوع دادهی _STATS متناظر دارند که مقادیر حداقل، حداکثر و میانگین را از تمرین برمیگرداند. برای مثال، آمار PACE را میتوان با نوع دادهی PACE_STATS استخراج کرد.
- انواع دادههای بازه (Interval) دارای یک نوع داده _TOTAL متناظر هستند که مقدار تجمعی را از تمرین برمیگرداند. برای مثال، آمار DISTANCE را میتوان با نوع داده DISTANCE_TOTAL استخراج کرد.
| متریک | دادههای مورد انتظار | نکاتی در مورد رفتارهای مورد انتظار |
| ضربان قلب | ضربان در دقیقه [نوع داده: دابل] | همه دستگاهها در طول تمرین، ضربان قلب را هر ثانیه یک بار اندازهگیری میکنند. برخی از دستگاهها هر ثانیه مقدار BPM را گزارش میدهند. برخی از دستگاهها فقط زمانی BPM را گزارش میدهند که از مقدار قبلی تغییر کرده باشد. انتظار نداشته باشید که در هر فاصله یک ثانیهای، مقدار BPM را در همه دستگاهها دریافت کنید. |
| مکان | طول و عرض جغرافیایی [نوع داده: Double] | دادههای موقعیت مکانی فقط بر اساس GPS ساعت است. انتظار نداشته باشید که دادههای موقعیت مکانی از Fused Location Provider یا سایر سرویسهای اندروید دریافت شوند. هر نقطه داده همچنین شامل یک مقدار دقت (که به عنوان خطای موقعیت افقی نیز شناخته میشود) و در دسترس بودن است. |
| مراحل | [نوع داده: طولانی] | شمارش گامها، مجموع تعداد گامها در طول مدت تمرین است، بدون احتساب زمانی که تمرین متوقف شده است. |
| فاصله | مترها [نوع داده: دوتایی] | در صورت وجود، از موقعیت مکانی مبتنی بر GPS و در غیر این صورت از تعداد گامها محاسبه میشود. کل به مجموع گامها در طول مدت تمرین اشاره دارد، بدون احتساب زمانی که تمرین متوقف شده است. |
| سرعت | [متر بر ثانیه] [نوع داده: دابل] | مقادیر حداقل، حداکثر و میانگین را برمیگرداند. این مقادیر در طول مدت تمرین هستند، بدون احتساب زمانی که تمرین متوقف شده است. |
| سرعت | [ثانیه / متر] [نوع داده: دابل] | اگر سرعت ۰ باشد، مقدار پیشفرض ۰ است. میانگینها در طول مدت تمرین محاسبه میشوند، بدون احتساب زمانی که تمرین متوقف شده است. |
| افزایش ارتفاع | متر. [نوع داده: دوبل] | تغییرات مثبت در ارتفاع. مجموع تغییرات در طول مدت تمرین گزارش میشود، بدون احتساب زمانی که تمرین متوقف شده است. |
| کل کالریها | کیلوکالری [نوع داده: دو برابر] | کالریهای فعال سوزانده شده به میزان متابولیسم پایه اضافه میشوند. کالریهای منتشر شده در اینجا، قد، وزن، سن و جنسیت کاربر را طبق تنظیمات سیستم در نظر میگیرند. کالریها هیچ یک از دادههای پروفایل کاربر که در برنامه شما جمعآوری شده است را در نظر نمیگیرند. کل گزارش شده در طول مدت تمرین محاسبه میشود، بدون احتساب زمانی که تمرین متوقف شده است. |
انواع دادههای تمرینی اختیاری
لیست انواع داده زیر فقط در دستگاههای خاصی موجود است. برای مشاهده لیست کامل DataTypes به مرجع Jetpack مراجعه کنید. اگر یک DataType در لیست "الزامی/تضمینشده" قبلی نباشد، اختیاری است.
به مثالهای زیر از انواع دادههای اختیاری توجه کنید. این لیست کامل نیست:
| متریک | دادههای مورد انتظار | نکاتی در مورد رفتارهای مورد انتظار |
| ارتفاع مطلق | [نوع داده: دابل] | |
| افت ارتفاع | مترها [نوع داده: دوتایی] | تغییرات منفی در ارتفاع. مقدار مثبت است. برای مثال، کاهش ارتفاع ۱ متر به صورت ۱ برگردانده میشود، نه -۱. |
| قدم در دقیقه | [نوع داده: طولانی] | |
| هل دادن ویلچر | [نوع داده: طولانی] | تعدادی از هل دادنهای ویلچر برای استفاده در تمرینات مبتنی بر ویلچر. |
| تعداد تکرار | [نوع داده: طولانی] | |
| تعداد ضربه شنا | [نوع داده: طولانی] | |
| شمارش_شنا | [نوع داده: طولانی] |
انواع دادهها در هر تمرین
برای هر نوع تمرین، انواع دادههای متفاوتی برگردانده میشود. انواع دادههای برگردانده شده با نیازهای تمرین سازگار هستند. برای مثال، نوع تمرین BIKING نوع داده STEPS را برنمیگرداند. از متد Capabilities در زمان اجرا برای تعیین اینکه کدام نوع دادهها در دستگاه کاربر پشتیبانی میشوند، استفاده کنید.
حداقل، همه انواع ورزشها دادههای ضربان قلب و کالری را برمیگردانند . سایر ورزشها ممکن است بسته به الزامات آن ورزش، از انواع دادههای اضافی پشتیبانی کنند.
در اینجا چند مثال آورده شده است:
- ورزشهایی مانند مدیتیشن یا پیلاتس فقط ضربان قلب و کالری را پشتیبانی میکنند.
- ورزشهایی مانند بسکتبال یا بدمینتون ضربان قلب، کالری، مسافت و تعداد قدمها را پشتیبانی میکنند.
- ورزشهایی مانند پیادهروی و دویدن، ضربان قلب، کالری، مسافت، گامها، سرعت و گامها را پشتیبانی میکنند.
- شنا از ضربان قلب، کالری، مسافت و تعداد دورهای شنا پشتیبانی میکند
کلاینت مانیتورینگ غیرفعال
انواع دادههای زیر برای همه دستگاههایی که سیستم عامل Wear OS را اجرا میکنند، جهت پشتیبانی از برنامههایی که به صورت غیرفعال دادههای سلامت و تناسب اندام مانند ضربان قلب را رصد میکنند، مورد نیاز است.
و تعداد گامها. هر یک از این انواع داده باید منحصراً از دادههای تولید شده توسط حسگرهای ساعت استخراج شوند.
رفتارهای مورد انتظار
برای صرفهجویی در مصرف برق، دادههای حسگر که با استفاده از مانیتورینگ غیرفعال به دست میآیند، در MCU ذخیره شده و به سرویسهای بهداشتی دستهبندی میشوند. این نتایج دستهبندی شده بسته به رفتار سیستم، در فواصل زمانی مختلف بازگردانده میشوند. برخی از نمونهها شامل بازگرداندن دستهها زمانی است که بافرهای حسگر پر هستند یا زمانی که کاربر با صفحه نمایش تعامل دارد.
برای هیچ نوع دادهای، هیچ فاصله زمانی از پیش تعریف شده یا قابل پیشبینی را در نظر نگیرید.
انواع دادههای مانیتورینگ غیرفعال
| متریک | دادههای مورد انتظار | یادداشتها |
| ضربان قلب | ضربان در دقیقه [نوع داده: دابل] | دستگاهها ممکن است ضربان قلب را در فواصل زمانی مختلف نشان دهند. برخی از دستگاهها ممکن است هر ثانیه یک بار ضربان قلب را اندازهگیری کنند. برخی دیگر ممکن است هر ده دقیقه یک بار ضربان قلب را اندازهگیری کنند. این فواصل زمانی در دسترس برنامهها قرار نمیگیرند. برنامهها باید به طور مناسب با فواصل زمانی مختلف نمونهبرداری سازگار شوند. |
| مراحل روزانه/مراحل | [نوع داده: طولانی] | گامهای روزانه، تعداد کل گامهای برداشتهشده از آخرین تنظیم مجدد است که توسط WHS در نیمهشب فعال میشود. این شامل هر گامی میشود که در حین مکث یک تمرین فعال برداشته شده است. گامها یک دلتای دانهای از آخرین بررسی است. |
| مسافت_روزانه/مسافت | متر [نوع داده: دو برابر] | محاسبهشده از شتابسنج/گامها. هنگام استفاده از GPS محاسبه نکنید تا مطمئن شوید کاربرانی که سرویسهای موقعیتیابی را خاموش کردهاند، همچنان میتوانند تعداد گامهای دقیق را دریافت کنند. |
| سرعت | [متر بر ثانیه] [نوع داده: دابل] | |
| کالری_روزانه | کیلوکالری [نوع داده: دو برابر] | کالری روزانه، شامل کالری فعال و BMR. میزان کالری که در اینجا منتشر میشود، قد، وزن، سن و جنسیت کاربر را طبق تنظیمات سیستم در نظر میگیرد. کالریها بر اساس هیچ یک از دادههای پروفایل کاربر که در برنامه شما جمعآوری شده است، تنظیم نمیشوند. |
| مراحل اجرا (اختیاری) | [نوع داده: طولانی] | دلتا تعداد قدمها را هم در طول تمرین و هم در غیر از آن بررسی کنید. هر دو را همزمان پیگیری کنید. |
| گامهای پیادهروی (اختیاری) | [نوع داده: طولانی] | |
| افزایش ارتفاع | متر [نوع داده: دو برابر] | فقط شامل دلتاهای مثبت در ارتفاع است |
| افت ارتفاع | متر [نوع داده: دو برابر] | فقط شامل دلتاهای منفی در ارتفاع است |
| طبقهها_روزانه | [نوع داده: دابل] | میتواند به عنوان کفهای "جزئی" نمایش داده شود |
اهداف روزانه نظارت غیرفعال
| متریک | دادههای مورد انتظار | یادداشتها |
| مراحل_روزانه | [نوع داده: طولانی] | تعداد گامهای روزانه، شامل هر گامی که در حین توقف یک تمرین فعال برداشته میشود، برابر با تعداد کل گامهای برداشته شده از آخرین تنظیم مجدد است. WHS در نیمهشب تنظیم مجدد میشود. |
| طبقهها_روزانه | [نوع داده: دابل] | میتواند به صورت کفهای "جزئی" از پلهها نمایش داده شود. |
| کالری_روزانه | کیلوکالری [نوع داده: دو برابر] | کالری روزانه، که شامل کالری فعال و BMR میشود. |
| مسافت_روزانه | متر [نوع داده: دو برابر] | محاسبه شده از شتابسنج یا شمارش گام. این را با استفاده از GPS محاسبه نکنید تا کاربرانی که سرویسهای موقعیتیابی را خاموش کردهاند، همچنان بتوانند شمارش دقیق گامها را دریافت کنند. |
| افزایش ارتفاع روزانه | متر [نوع داده: دو برابر] | فقط شامل دلتاهای مثبت در ارتفاع است |
مشتری اندازهگیری
MeasureClient برای اندازهگیری ضربان قلب در یک لحظه معین استفاده کنید.
رفتارهای مورد انتظار
MeasureClient و PassiveClient از برخی جهات مشابه هستند. هر دو آمار سلامت غیر دستهای و غیرمرتبط با ورزش را ارائه میدهند. میتوانید از هر دو برای اندازهگیری ضربان قلب استفاده کنید، اما تفاوت اصلی این است که MeasureClient شامل دادههای ضربان قلب موجود است، اما PassiveClient اطلاعات مربوط به در دسترس بودن را شامل نمیشود.
انواع داده
| متریک | دادههای مورد انتظار | یادداشتها |
| ضربان قلب | ضربان در دقیقه [نوع داده: دابل] | همچنین شامل در دسترس بودن است |
ویژگیهای پشتیبانیشده
علاوه بر انواع دادههای تمرینی و انواع دادههای مانیتورینگ غیرفعال، دستگاهها از ویژگیهای اضافی برای راهاندازی رویدادهایی مانند شروع تمرین و اندازهگیری حالتهایی مانند خواب در مقابل بیداری پشتیبانی میکنند. برخی از این ویژگیها در همه دستگاهها وجود دارند و برخی دیگر فقط در برخی از دستگاهها موجود هستند.
محرکهای رویداد
همه دستگاهها از محرکهای رایج زیر پشتیبانی میکنند:
- اهداف روزانه برای مسافت و تعداد قدمها
- اهداف ورزشی برای تعداد قدمها، مسافت و مدت زمان.
دستگاههای دیگر ممکن است از محرکهای رویداد پیشرفتهتری پشتیبانی کنند. برخی از نمونهها شامل موارد زیر است:
- شمارش دورها هنگام شنا
- اهداف ورزشی برای کالری سوزانده شده
- اهداف تمرینی برای سرعت آنی
ایالتها
همه دستگاهها از قابلیتهای پایه وضعیت پشتیبانی میکنند. قابلیت وضعیت به این اشاره دارد که آیا کاربر در حال انجام یک تمرین فعال است یا خیر.
دستگاههای دیگر ممکن است قابلیتهای حالت اضافی ارائه دهند. برخی از قابلیتهای حالت اضافی شامل تشخیص توقف یا از سرگیری خودکار یک تمرین یا تشخیص بیدار یا خواب بودن کاربر است.
هشدارهای بهداشتی در نظارت غیرفعال
برخی از دستگاهها از هشدارهای سلامتی پشتیبانی میکنند. این ویژگیها در همه دستگاهها پشتیبانی نمیشوند. برخی از هشدارهای سلامتی شامل تشخیص ناهنجاریهای ضربان قلب یا تشخیص زمین خوردن میشوند.
{% کلمه به کلمه %}برای شما توصیه میشود
- توجه: متن لینک زمانی نمایش داده میشود که جاوا اسکریپت غیرفعال باشد.
- دادهها و تمرینهای فعال
- سرویسهای سلامت در Wear OS