سازگاری برنامه‌ها را در دستگاه‌های Wear OS افزایش دهید

Wear Health Services API (WHS) یک جزء اجباری برای همه دستگاه‌هایی است که دارای سیستم عامل Wear OS 3 و بالاتر هستند، زیرا سطح یکپارچه‌سازی ثابتی را برای توسعه دهندگان سلامت و تناسب اندام فراهم می‌کند. برنامه خود را طوری بسازید که به‌خوبی با بسیاری از دستگاه‌ها و قابلیت‌های متفاوت آن‌ها سازگار شود تا سازگاری بین دستگاه‌ها حفظ شود و از مشکلات تجربه کاربر جلوگیری شود. برای انجام این کار، وابستگی ها را فقط برای کلاینت هایی که برنامه شما استفاده می کند، اعلام کنید. به‌علاوه، به برنامه‌تان این امکان را بدهید که معیارهای پیشرفته اختیاری را براساس در دسترس بودنشان نمایش یا حذف کند.

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

این راهنما رفتارهای مورد انتظار و انواع داده های پشتیبانی شده توسط مشتریان مختلف در Wear Health Services را شرح می دهد.

مشتری ورزش

بخش‌های زیر رفتارهای مورد انتظار و انواع داده‌های ExerciseClient را شرح می‌دهند.

رفتارهای مورد انتظار

برای ExerciseClient ، برخی از انواع تمرین ها به در دسترس بودن انواع داده های خاص بستگی دارد. به عنوان مثال، تمرینات با ویلچر تنها در صورتی در دسترس است که از هل دادن ویلچر پشتیبانی شود. این گزینه ها را بر اساس در دسترس بودن آنها در یک دستگاه مشخص، فعال و غیرفعال کنید.

بیشتر انواع داده های تمرین نمونه برداری می شوند و در فواصل زمانی یک ثانیه تحویل داده می شوند، به استثنای برخی موارد:

  • در برخی شرایط، برخی از انواع داده های تمرینی بیش از یک بار در ثانیه به روز می شوند. به عنوان مثال، هنگامی که کاربر در حال اجرا است، تعداد گام ها بیش از یک بار در ثانیه به روز می شود.
  • برای برخی از انواع داده، به‌روزرسانی تنها در صورتی ارائه می‌شود که مقدار فعلی با مقدار قبلی متفاوت باشد.

تحویل داده ها می تواند به صورت جریانی یا دسته ای باشد. هنگامی که پردازنده برنامه روشن است، داده ها پخش می شوند، که معمولاً زمانی که صفحه نمایش روشن است و تعاملی است. هنگامی که صفحه نمایش خاموش می شود یا به حالت محیطی می رود (روشن اما غیر تعاملی)، داده ها به منظور صرفه جویی در مصرف برق دسته بندی می شوند. داده‌های دسته‌ای به برنامه تحویل داده می‌شوند، زمانی که پردازنده برنامه دوباره روشن می‌شود، یا به دلیل خارج شدن ساعت از حالت محیطی، یا زمانی که بافرهای دسته‌بندی پر است، که بسته به دستگاه متفاوت است. نرخ نمونه‌برداری در زمانی که دستگاه در حالت محیطی است یکسان باقی می‌ماند، بنابراین دسته‌ای که تحویل داده می‌شود همچنان نقاط داده با فرکانس بالایی دارد.

انواع داده ها تنها از داده های تولید شده توسط حسگرهای روی ساعت مشتق می شوند. به عنوان مثال، اطلاعات مکان به طور کامل از ساعت و نه تلفن می آید.

انواع داده ها

ExerciseClient API به شما این امکان را می دهد که تمرینات را در انواع مختلف شروع، مکث، از سرگیری و متوقف کنید. برای هر تمرین، WHS مجموعه ای از انواع داده را تعریف می کند که برای آن نوع تمرین در دسترس شما قرار می گیرد. این باعث صرفه جویی در مصرف انرژی می شود و منطق برنامه شما را ساده می کند، زیرا حسگرهایی که برای یک تمرین خاص مورد نیاز نیستند، روشن نمی شوند. به عنوان مثال، هنگام شروع یک اجرا، داده های مکان فقط برای یک اجرا در فضای باز ارائه و ردیابی می شوند. هنگام شروع یک تمرین دوچرخه سواری، مراحل ارائه یا ردیابی نمی شوند. بخش‌های زیر شرحی از انواع داده‌هایی که در ExerciseClient پشتیبانی می‌شوند، ارائه می‌کند.

انواع داده های تمرینی تضمین شده

انواع داده های تمرین زیر در همه دستگاه ها موجود است.

  • انواع داده های نمونه دارای یک نوع داده _STATS متناظر هستند که مقادیر حداقل، حداکثر و میانگین را از تمرین برمی گرداند. به عنوان مثال، آمار PACE را می توان با نوع داده PACE_STATS استخراج کرد.
  • انواع داده های فاصله ای دارای یک نوع داده _TOTAL متناظر هستند که مقدار تجمعی تمرین را برمی گرداند. برای مثال، آمار DISTANCE را می توان با نوع داده DISTANCE_TOTAL استخراج کرد.
متریک داده های مورد انتظار نکاتی در مورد رفتارهای مورد انتظار
HEART_RATE_BPM ضربان در دقیقه [نوع داده: دو برابر] همه دستگاه ها در طول یک ورزش یک بار در ثانیه از ضربان قلب نمونه می گیرند. برخی از دستگاه ها در هر ثانیه یک مقدار BPM را گزارش می دهند. برخی از دستگاه ها فقط زمانی BPM را گزارش می کنند که نسبت به مقدار قبلی تغییر کرده باشد. انتظار نداشته باشید که مقدار BPM را در هر بازه یک ثانیه در همه دستگاه ها دریافت کنید.
مکان طول و عرض جغرافیایی [DataType: Double] داده‌های مکان فقط بر اساس GPS ساعت است. انتظار نداشته باشید که داده‌های مکان از Fused Location Provider یا سایر سرویس‌های Android دریافت شود. هر نقطه داده همچنین شامل یک مقدار دقت (همچنین به عنوان خطای موقعیت افقی شناخته می شود) و در دسترس بودن است.
مراحل [نوع داده: طولانی] تعداد گام ها مجموع دویدن در طول مدت تمرین است، بدون احتساب زمان توقف تمرین
DISTANCE متر [نوع داده: دوتایی] در صورت موجود بودن از موقعیت مکانی مبتنی بر GPS و در غیر این صورت از مراحل محاسبه می شود. مجموع به مجموع در طول مدت تمرین، بدون احتساب زمان توقف تمرین اشاره دارد.
سرعت [متر / ثانیه] [نوع داده: دوبل] مقادیر حداقل، حداکثر و میانگین را برمی‌گرداند. اینها در طول مدت تمرین، بدون احتساب زمان توقف تمرین هستند.
PACE [ثانیه / متر] [نوع داده: دوگانه] اگر سرعت 0 باشد، مقدار پیش‌فرض 0 است. میانگین‌ها بیش از مدت زمان تمرین هستند، بدون در نظر گرفتن زمان توقف تمرین.
ELEVATION_GAIN متر. [نوع داده: دوبل] تغییرات مثبت در ارتفاع مجموع در طول مدت تمرین گزارش می شود، بدون احتساب زمان توقف تمرین.
TOTAL_CALORIES کیلوکالری [نوع داده: دو برابر] کالری های فعال سوزانده شده به میزان متابولیک پایه اضافه می شود. کالری های منتشر شده در اینجا قد، وزن، سن و جنسیت کاربر را همانطور که در تنظیمات سیستم مشخص شده است در نظر می گیرد. کالری هیچ گونه داده نمایه کاربر جمع آوری شده در برنامه شما را در نظر نمی گیرد. مجموع گزارش شده در طول مدت تمرین، بدون احتساب زمان توقف تمرین است.

انواع داده های تمرین اختیاری

فهرست زیر از انواع داده‌ها فقط در دستگاه‌های خاصی موجود است. برای فهرست کامل DataType ها به مرجع Jetpack مراجعه کنید. اگر DataType در لیست قبلی "لازم/تضمین شده" نباشد، اختیاری است.

نمونه های زیر از انواع داده های اختیاری را ببینید. این لیست کامل نیست:

متریک داده های مورد انتظار نکاتی در مورد رفتارهای مورد انتظار
ABSOLUTE_ELEVATION [نوع داده: دوبل]
ELEVATION_LOSS متر [نوع داده: دوتایی] تغییرات منفی در ارتفاع ارزش مثبت است. به عنوان مثال، کاهش ارتفاع 1 متر به عنوان 1 برگردانده می شود، نه -1.
STEPS_PER_MINUTE [نوع داده: طولانی]
WHEELCHAIR_PUSHES [نوع داده: طولانی] تعدادی از ویلچرها برای استفاده در تمرینات مبتنی بر ویلچر فشار می آورند.
REP_COUNT [نوع داده: طولانی]
SWIM_STROKE_COUNT [نوع داده: طولانی]
SWIM_LAP_COUNT [نوع داده: طولانی]

انواع داده در هر تمرین

انواع داده های مختلف برای هر نوع تمرین برگردانده می شود. انواع داده هایی که برگردانده می شوند با نیازهای تمرین مطابقت دارند. برای مثال، نوع تمرین دوچرخه‌سواری، نوع داده STEPS را بر نمی‌گرداند. لطفاً از روش Capabilities در زمان اجرا استفاده کنید تا مشخص کنید کدام نوع داده در دستگاه کاربر پشتیبانی می شود.

حداقل، همه انواع ورزش داده های ضربان قلب و کالری را برمی گرداند . بسته به الزامات تمرین، سایر تمرین‌ها ممکن است از انواع داده‌های اضافی پشتیبانی کنند.

در اینجا چند نمونه آورده شده است:

  • ورزش هایی مانند مدیتیشن یا پیلاتس تنها از ضربان قلب و کالری پشتیبانی می کنند
  • ورزش هایی مانند بسکتبال یا بدمینتون از ضربان قلب، کالری، مسافت و قدم ها پشتیبانی می کند.
  • ورزش هایی مانند پیاده روی و دویدن از ضربان قلب، کالری، مسافت، قدم ها، سرعت و سرعت پشتیبانی می کنند
  • شنا از ضربان قلب، کالری، مسافت و دورهای شنا پشتیبانی می کند

مشتری نظارت غیرفعال

انواع داده‌های زیر برای همه دستگاه‌هایی که از Wear OS استفاده می‌کنند برای پشتیبانی از برنامه‌هایی که به‌طور غیرفعال بر داده‌های سلامتی مانند ضربان قلب و تعداد قدم‌ها نظارت می‌کنند، لازم است. هر یک از این نوع داده ها باید صرفاً از داده های تولید شده توسط حسگرهای روی ساعت مشتق شوند.

رفتارهای مورد انتظار

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

برای هر نوع داده، فواصل دسته بندی از پیش تعریف شده یا قابل پیش بینی را در نظر نگیرید.

انواع داده های نظارت غیرفعال

متریک داده های مورد انتظار یادداشت ها
HEART_RATE_BPM ضربان در دقیقه [نوع داده: دو برابر] دستگاه ها ممکن است ضربان قلب را در فواصل زمانی مختلف برگردانند. برخی از دستگاه ها ممکن است در هر ثانیه مطالعه را انجام دهند. سایر دستگاه ها ممکن است هر ده دقیقه یک بار مطالعه کنند. این فواصل در دسترس برنامه ها نیست. برنامه‌ها باید به خوبی با فواصل مختلف نمونه‌برداری سازگار شوند.
STEPS_DAILY/STEPS [نوع داده: طولانی] گام‌های روزانه تعداد کل گام‌های برداشته‌شده از آخرین بازنشانی است که توسط WHS در نیمه‌شب آغاز می‌شود. این شامل هر مرحله ای است که در حین توقف یک تمرین فعال انجام می شود. Steps یک دلتای دانه ای از آخرین بررسی است.
DISTANCE_DAILY/DISTANCE متر [نوع داده: دوبل] محاسبه شده از شتاب سنج / مراحل. در طول GPS محاسبه نکنید تا مطمئن شوید کاربرانی که خدمات مکان را خاموش کرده‌اند همچنان می‌توانند تعداد دقیق گام‌ها را دریافت کنند.
سرعت [متر / ثانیه] [نوع داده: دوبل]
CALORIES_DAILY کیلوکالری [نوع داده: دو برابر] کالری روزانه، از جمله کالری فعال و BMR. رقم کالری که در اینجا منتشر می شود، قد، وزن، سن و جنسیت کاربر را همانطور که در تنظیمات سیستم مشخص شده است در نظر می گیرد. کالری ها بر اساس داده های نمایه کاربر جمع آوری شده در برنامه شما تنظیم نمی شوند.
RUNNING_STEPS (اختیاری) [نوع داده: طولانی] دلتای مراحل هم در حین تمرین و هم در غیر این صورت. هر دو را همزمان ردیابی کنید.
WALKING_STEPS (اختیاری) [نوع داده: طولانی]
ELEVATION_GAIN متر [نوع داده: دوبل] فقط دلتاهای مثبت در ارتفاع را شامل می شود
ELEVATION_LOSS متر [نوع داده: دوبل] فقط دلتاهای منفی در ارتفاع را شامل می شود
FLOORS_DAILY [نوع داده: دوگانه] را می توان به عنوان طبقه "جزئی" نشان داد

نظارت غیرفعال بر اهداف روزانه

متریک داده های مورد انتظار یادداشت ها
STEPS_DAILY [نوع داده: طولانی] گام‌های روزانه، از جمله گام‌های برداشته‌شده در حین توقف یک تمرین فعال، تعداد کل گام‌های برداشته‌شده از آخرین بازنشانی است. WHS در نیمه شب بازنشانی می شود.
FLOORS_DAILY [نوع داده: دوبل] می تواند به عنوان طبقه "جزئی" از پله ها نشان داده شود.
CALORIES_DAILY کیلوکالری [نوع داده: دو برابر] کالری روزانه که شامل کالری فعال و BMR می شود.
DISTANCE_DAILY متر [نوع داده: دوبل] از شتاب سنج یا شمارش گام محاسبه می شود. این را با استفاده از GPS محاسبه نکنید تا کاربرانی که خدمات موقعیت مکانی را خاموش کرده‌اند همچنان بتوانند تعداد دقیق گام‌ها را دریافت کنند.
DAILY_ELEVATION_GAIN متر [نوع داده: دوبل] فقط دلتاهای مثبت در ارتفاع را شامل می شود

MeasureClient

از MeasureClient برای اندازه گیری ضربان قلب در یک لحظه خاص استفاده کنید.

رفتارهای مورد انتظار

MeasureClient و PassiveClient از برخی جهات مشابه هستند. هر دوی آنها آمار سلامتی غیر دسته‌ای را ارائه می‌کنند که به یک ورزش مرتبط نیست. برای اندازه‌گیری ضربان قلب می‌توانید از هر دو استفاده کنید، اما تفاوت اصلی این است که MeasureClient در دسترس بودن داده‌های ضربان قلب را شامل می‌شود، اما PassiveClient اطلاعات در دسترس بودن را شامل نمی‌شود.

انواع داده ها

متریک داده های مورد انتظار یادداشت ها
HEART_RATE_BPM ضربان در دقیقه [نوع داده: دو برابر] همچنین شامل در دسترس بودن است

ویژگی های پشتیبانی شده

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

محرک های رویداد

همه دستگاه‌ها از محرک‌های رایج زیر پشتیبانی می‌کنند:

  • اهداف روزانه برای مسافت و قدم ها
  • اهداف را برای قدم ها، مسافت و مدت زمان تمرین کنید.

سایر دستگاه‌ها ممکن است از محرک‌های رویداد پیشرفته‌تر پشتیبانی کنند. برخی از نمونه ها شامل موارد زیر است:

  • شمارش دور در هنگام شنا
  • اهداف ورزش برای کالری سوزانده شده است
  • اهداف را برای سرعت لحظه ای تمرین کنید

ایالات

همه دستگاه ها از عملکرد حالت اولیه پشتیبانی می کنند. عملکرد حالت به این اشاره دارد که آیا کاربر در حال حاضر در یک تمرین فعال است یا خیر

دستگاه های دیگر ممکن است عملکرد حالت اضافی را ارائه دهند. برخی از عملکردهای حالت اضافی شامل تشخیص اینکه آیا یک تمرین به طور خودکار متوقف شده یا از سر گرفته شده است یا زمانی که کاربر بیدار است یا خواب است.

هشدارهای بهداشتی در نظارت غیرفعال

برخی از دستگاه ها از هشدارهای سلامت پشتیبانی می کنند. این ویژگی‌ها در همه دستگاه‌ها پشتیبانی نمی‌شوند. برخی از هشدارهای بهداشتی شامل تشخیص ناهنجاری های ضربان قلب یا تشخیص زمین خوردن است.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}