تحسين توافق التطبيقات على جميع أجهزة Wear OS

تُعدّ واجهة برمجة تطبيقات Wear Health Services API (WHS) عنصرًا إلزاميًا في جميع الأجهزة التي تعمل بنظام التشغيل Wear OS 3 أو الإصدارات الأحدث، لأنّها توفّر منصّة دمج متسقة لمطوّري برامج الصحة واللياقة البدنية. أنشئ تطبيقك ليلائم العديد من الأجهزة وإمكاناتها المختلفة للحفاظ على التوافق بين الأجهزة وتجنُّب المشاكل في تجربة المستخدم. وللقيام بذلك، يجب الإعلان عن التبعيات للعملاء الذين يستخدمهم تطبيقك فقط. إضافةً إلى ذلك، امنح تطبيقك مرونة في عرض مقاييس متقدمة اختيارية أو إزالتها استنادًا إلى مدى توفّرها.

تنشئ المستشعرات المختلفة البيانات بتردّدات مختلفة تختلف حسب كل جهاز بناءً على النظام الأساسي للجهاز ومنصة أداة الاستشعار. على سبيل المثال، قد يعرض الجهاز معدّل نبضات القلب في طابع زمني وفي موقع جغرافي آخر. أنشئ تطبيقات يمكنها تلقّي مصادر بيانات مستقلة عند طوابع زمنية مختلفة أو على طوابع زمنية متداخلة.

يوضِّح هذا الدليل السلوكيات وأنواع البيانات المتوقّعة التي يوفّرها العديد من العملاء ضِمن "خدمات Wear Health Services".

عميل التمرين

توضّح الأقسام التالية السلوكيات وأنواع البيانات المتوقعة من ExerciseClient.

السلوكيات المتوقعة

بالنسبة إلى ExerciseClient، تعتمد بعض أنواع التمارين على مدى توفّر أنواع معيّنة من البيانات. على سبيل المثال، لا تتوفر تمارين الكرسي المتحرك إلا إذا كانت دفعات الكرسي المتحرك مدعومة. يمكنك تفعيل هذه الخيارات أو إيقافها بناءً على مدى توفّرها على جهاز معيّن.

يتم أخذ عينات من معظم أنواع بيانات التمارين وتقديمها على فترات زمنية واحدة، مع بعض الاستثناءات:

  • في بعض الحالات، يتم تحديث بعض أنواع بيانات التمارين أكثر من مرة في الثانية. على سبيل المثال، عند تشغيل المستخدم، يتم تحديث عدد الخطوات أكثر من مرة في الثانية.
  • بالنسبة إلى بعض أنواع البيانات، لا يتم تسليم تحديث إلا إذا كانت القيمة الحالية مختلفة عن القيمة السابقة.

ويمكن أن يكون تسليم البيانات إما بثًا أو جمعًا. يتم بث البيانات أثناء تشغيل معالج التطبيقات، وذلك عادةً عندما تكون الشاشة قيد التشغيل ومتفاعلة. بمجرد انطلاق الشاشة أو دخولها في وضع الإضاءة السينمائية (تشغيل ولكن غير تفاعلي)، يتم تجميع البيانات لتوفير الطاقة. يتم تسليم البيانات المجمعة إلى التطبيق إما عند تشغيل معالج التطبيق مرة أخرى، إما بسبب خروج الساعة من "وضع الإضاءة السينمائية" أو عند امتلاء المخازن الاحتياطية لعملية التجميع، الأمر الذي يختلف باختلاف الجهاز. يظل معدّل أخذ العيّنات كما هو عندما يكون الجهاز في وضع عدم النشاط، لذلك تحتوي الدفعة التي يتم تسليمها على نقاط بيانات عالية التكرار.

يتم استخلاص أنواع البيانات فقط من البيانات التي تم إنشاؤها بواسطة أدوات الاستشعار على الساعة. على سبيل المثال، يتم الحصول على بيانات الموقع الجغرافي بالكامل من الساعة وليس من الهاتف.

أنواع البيانات

تتيح لك واجهة برمجة التطبيقات ExerciseClient بدء تمارين من مختلف الأنواع وإيقافها مؤقتًا واستئنافها وإيقافها. لكل تمرين، تحدد WHS مجموعة من أنواع البيانات التي يتم توفيرها لك لنوع التمرين هذا. ويوفر ذلك الطاقة ويبسط منطق تطبيقك، حيث لا يتم تشغيل أجهزة الاستشعار غير المطلوبة لتمرين معين. على سبيل المثال، عند بدء الجري، لا يتم توفير بيانات الموقع وتتبعها إلا للجري في الهواء الطلق. عند بدء تمرين ركوب الدراجات، لا يتم تقديم الخطوات أو تتبعها. تقدم الأقسام التالية وصفًا لأنواع البيانات المتوافقة في ExerciseClient.

أنواع بيانات التمارين المضمونة

تتوفّر أنواع بيانات التمارين التالية على جميع الأجهزة.

  • تحتوي أنواع البيانات النموذجية على نوع بيانات _STATES مقابل يعرض القيم الدنيا والقصوى والمتوسطة من التمرين. على سبيل المثال، يمكن سحب إحصائيات PACE باستخدام نوع بيانات PACE_StatS.
  • تحتوي أنواع بيانات الفاصل على نوع بيانات _TOTAL مطابق يعرض القيمة التراكمية من التمرين. على سبيل المثال، يمكن الحصول على إحصاءات DISTANCE باستخدام نوع البيانات DISTANCE_TOTAL.
المقياس البيانات المتوقّعة ملاحظات حول السلوكيات المتوقّعة
HEART_RATE_BPM نبضات في الدقيقة [DataType: مزدوجة] تأخذ جميع الأجهزة عينات لمعدّل نبضات القلب مرة واحدة في الثانية أثناء ممارسة التمارين. تُبلغ بعض الأجهزة عن قيمة نبضة في الدقيقة كل ثانية. ولا تُبلِغ بعض الأجهزة عن عدد النبضات في الدقيقة إلا عند تغيير هذه القيمة منذ القيمة السابقة. ولا تتوقّع تلقّي قيمة نبضة في الدقيقة في كل ثانية واحدة على جميع الأجهزة.
الموقع الجغرافي خط العرض وخط الطول [DataType: مزدوجة] تستند بيانات الموقع إلى نظام تحديد المواقع العالمي (GPS) على الساعة فقط. ولا تتوقّع أن تأتي بيانات الموقع الجغرافي من ميزة "موفِّر الموقع المدمج" أو خدمات Android الأخرى). وتشمل كل نقطة بيانات أيضًا قيمة للدقة (تُعرف أيضًا باسم خطأ الموضع الأفقي) ومدى توفّرها.
الخطوات [نوع البيانات: طويل] عدد الخطوات هو إجمالي عدد الخطوات على مدار مدة التمرين، ولا يشمل الوقت الذي يكون فيه التمرين متوقفًا مؤقتًا
DISTANCE المقاييس [نوع البيانات: مزدوج] تم احتسابها من موقع جغرافي مستند إلى نظام تحديد المواقع العالمي (GPS) في حال توفّره، ومن خطوات أخرى. يشير الإجمالي إلى الإجمالي على مدار مدة التمرين، ولا يشمل الوقت الذي توقف فيه التمرين مؤقتًا.
السرعة [متر / ثانية] [نوع البيانات: مزدوج] لعرض القيم الدنيا والحد الأقصى والمتوسط. وتحدث هذه الزيادة طوال مدة التمرين، ولا تشمل الوقت الذي يتوقف فيه التمرين مؤقتًا.
مستوى السرعة [ثانية / متر] [نوع البيانات: مزدوج] وتكون القيمة التلقائية 0 إذا كانت السرعة 0. تتجاوز المعدلات مدة التمرين، ولا تشمل الوقت الذي توقف فيه التمرين مؤقتًا.
ELEVATION_GAIN متر. [نوع البيانات: مزدوجة] تغييرات إيجابية في الارتفاع يتم الإبلاغ عن المجموع على مدار مدة التمرين، ولا يشمل الوقت الذي يتوقف فيه التمرين مؤقتًا.
إجمالي_السعرات الحرارية kCal [نوع البيانات: مزدوج] تمت إضافة السعرات الحرارية المحروقة نتيجة ممارسة نشاط بدني إلى "معدل الأيض الأساسي". وتراعي السعرات الحرارية المحروقة هنا طول المستخدم ووزنه وعمره وجنسه كما هو محدّد في إعدادات النظام. لا تأخذ السعرات الحرارية في الاعتبار أي بيانات للملف الشخصي للمستخدم تم جمعها في تطبيقك. وإجمالي المقدار الذي تم الإبلاغ عنه هو خلال مدة التمرين، ولا يشمل الوقت الذي توقف فيه التمرين مؤقتًا.

أنواع بيانات التمارين الرياضية الاختيارية

لا تتوفّر القائمة التالية لأنواع البيانات إلا على أجهزة معيَّنة. يمكنك الاطّلاع على مرجع Jetpack للحصول على قائمة كاملة بأنواع DataTypes. إذا لم يكن نوع البيانات في القائمة السابقة "مطلوبة/مضمونة"، فتكون اختيارية.

راجع الأمثلة التالية لأنواع البيانات الاختيارية. إنّ قائمة الأمثلة هذه ليست شاملة.

المقياس البيانات المتوقّعة ملاحظات حول السلوكيات المتوقّعة
ABSOLUTE_ELEVATION [نوع البيانات: مزدوجة]
ELEVATION_LOSS المقاييس [نوع البيانات: مزدوج] تغييرات سلبية في الارتفاع القيمة موجبة. على سبيل المثال، يتم عرض قيمة انخفاض الارتفاع بمقدار 1 متر على النحو التالي 1 وليس -1.
خطوة واحدة [نوع البيانات: طويل]
دفع WHEELCHAIR_PUSHES [نوع البيانات: طويل] عدد دفعات الكرسي المتحرك لاستخدامها في التمارين التي تستخدم الكرسي المتحرك.
عدد الأحداث: REP_COUNT [نوع البيانات: طويل]
SWIM_STROKE_COUNT [نوع البيانات: طويل]
SWIM_LAP_COUNT [نوع البيانات: طويل]

أنواع البيانات لكل تمرين

يتم إرجاع أنواع بيانات مختلفة لكل نوع تمرين. تتوافق أنواع البيانات التي يتم إرجاعها مع احتياجات التمرين. على سبيل المثال، لا يعرض نوع تمرين ركوب الدراجات نوع بيانات الخطوات. يُرجى استخدام طريقة Capabilities في وقت التشغيل لتحديد أنواع البيانات المتوافقة مع جهاز المستخدم.

على الأقل، تعرض جميع أنواع التمارين الرياضية بيانات معدّل نبضات القلب والسعرات الحرارية. قد تدعم التمارين الأخرى أنواعًا إضافية من البيانات، اعتمادًا على متطلبات التمرين.

في ما يلي بعض الأمثلة على ذلك:

  • تمارين، مثل التأمل أو البيلاتس، تدعم فقط معدّل نبضات القلب والسعرات الحرارية
  • هناك تمارين، مثل كرة السلة أو كرة الريشة، تساعد في تعزيز معدّل نبضات القلب والسعرات الحرارية والمسافة والخطوات.
  • تساعد التمارين، مثل المشي والجري، في دعم معدّل نبضات القلب والسعرات الحرارية والمسافة والخطوات والسرعة والسرعة.
  • تدعم السباحة معدّل نبضات القلب والسعرات الحرارية والمسافة المقطوعة ولفات السباحة.

عميل المراقبة السلبية

إنّ أنواع البيانات التالية مطلوبة لجميع الأجهزة التي تعمل بنظام التشغيل Wear OS لإتاحة التطبيقات التي تراقب البيانات الصحية بشكل سلبي، مثل معدّل نبضات القلب وعدد الخطوات. يجب اشتقاق كل نوع من أنواع البيانات هذه فقط من البيانات التي يتم إنشاؤها بواسطة أجهزة الاستشعار على الساعة.

السلوكيات المتوقعة

للحفاظ على الطاقة، يتم تخزين قراءات أجهزة الاستشعار التي تم الحصول عليها باستخدام ميزة "المراقبة السلبية" في وحدة MCU وتجميعها في "الخدمات الصحية". ويتم عرض هذه النتائج المجمّعة على فترات زمنية مختلفة استنادًا إلى سلوك النظام. ومن الأمثلة على ذلك إرجاع الدفعات عندما تمتلئ المخازن المؤقتة للمستشعرات أو عندما يتفاعل المستخدم مع الشاشة.

لا تفترض أي فواصل تجميع محددة مسبقًا أو يمكن توقعها لأي نوع من أنواع البيانات.

أنواع بيانات المراقبة السلبية

المقياس البيانات المتوقّعة Notes
HEART_RATE_BPM عدد النبضات في الدقيقة [نوع البيانات: مزدوج] قد تعرض الأجهزة قراءات معدّل نبضات القلب على فترات مختلفة. وقد تستغرق بعض الأجهزة القراءة كل ثانية. وقد تستغرق الأجهزة الأخرى عملية القياس كل عشر دقائق. ولا يتم توفير هذه الفواصل الزمنية للتطبيقات. ويجب أن تتكيّف التطبيقات بشكل ملائم مع الفواصل الزمنية المختلفة لأخذ العينات.
STEPS_DAILY/STEPS [نوع البيانات: طويل] الخطوات اليومية هي إجمالي عدد الخطوات التي تم اتخاذها منذ آخر عملية إعادة ضبط، والتي شغّلتها WHS في منتصف الليل. ويشمل ذلك أي خطوات يتم اتخاذها أثناء الإيقاف المؤقت للتمرين النشط. الخطوات هي دلتا دقيقة منذ آخر عملية تحقّق.
DISTANCE_DAILY/DISTANCE متر [نوع البيانات: مزدوجة] تم احتسابه من خلال مقياس التسارع أو الخطوات. لذا، لا تُجري عمليات احتساب أثناء استخدام نظام تحديد المواقع العالمي (GPS) لضمان أنّ المستخدمين الذين أوقفوا خدمات الموقع الجغرافي سيظل بإمكانهم تلقّي أعداد دقيقة للخطوات.
السرعة [متر / ثانية] [نوع البيانات: مزدوج]
سعرات حرارية_يومية kCal [نوع البيانات: مزدوج] السعرات الحرارية في اليوم، بما في ذلك السعرات الحرارية النشطة وBMR. ويراعي عدد السعرات الحرارية المنبعثة هنا طول المستخدم ووزنه وعمره وجنسه كما هو محدّد في إعدادات النظام. لا يتم تعديل السعرات الحرارية وفقًا لأي بيانات ملف شخصي للمستخدم تم جمعها في تطبيقك.
RUNNING_STEPS (اختياري) [نوع البيانات: طويل] دلتا الخطوات سواء أثناء التمرين أو غير ذلك. ويمكنك تتبُّعهما في الوقت نفسه.
WALKING_STEPS (اختياريّة) [نوع البيانات: طويل]
ELEVATION_GAIN متر [نوع البيانات: مزدوجة] يتضمن فقط الدلتا الموجبة في الارتفاع
ELEVATION_LOSS متر [نوع البيانات: مزدوجة] لا يتضمن سوى الدلتا السالبة في الارتفاع
FLOORS_يومي [نوع البيانات: مزدوجة] يمكن تمثيلها كطوابق "جزئية"

المراقبة السلبية للأهداف اليومية

المقياس البيانات المتوقّعة Notes
خطوات_يومية [نوع البيانات: طويل] الخطوات اليومية، بما في ذلك أي خطوات تم اتخاذها أثناء الإيقاف المؤقت للتمرين النشط، هي إجمالي عدد الخطوات التي تم اتخاذها منذ آخر عملية إعادة ضبط. تتمّ إعادة ضبط WHS في منتصف الليل.
FLOORS_يومي [نوع البيانات: مزدوجة] يمكن تمثيلها كطوابق "جزئية" من السلالم.
سعرات حرارية_يومية kCal [نوع البيانات: مزدوج] السعرات الحرارية في اليوم، وتشمل السعرات الحرارية النشِطة وBMR.
DISTANCE_DAILY متر [نوع البيانات: مزدوجة] تم احتسابها من مقياس التسارع أو عدد الخطوات. تجنَّب احتساب هذا الوقت باستخدام نظام تحديد المواقع العالمي (GPS) بحيث يظل بإمكان المستخدمين الذين أوقفوا خدمات الموقع الجغرافي تلقّي أعداد دقيقة للخطوات.
DAILY_ELEVATION_GAIN متر [نوع البيانات: مزدوجة] يتضمن فقط الدلتا الموجبة في الارتفاع

MeasurementClient

يمكنك استخدام MeasureClient لقياس معدّل نبضات القلب في لحظة معيّنة.

السلوكيات المتوقعة

إنّ MeasureClient وPassiveClient متشابهتان في بعض النواحي. كلاهما يوفر إحصائيات صحية غير مجمعة لا علاقة لها بالتمرين. يمكنك استخدام كلتا الطريقتين لقياس معدّل نبضات القلب، ولكن الفرق الرئيسي هو أنّ السمة MeasureClient تشمل مدى توفُّر بيانات معدّل نبضات القلب، بينما لا تتضمّن السمة PassiveClient معلومات مدى التوفّر.

أنواع البيانات

المقياس البيانات المتوقّعة Notes
HEART_RATE_BPM عدد النبضات في الدقيقة [نوع البيانات: مزدوج] تشمل أيضًا مدى التوفّر

الميزات المتاحة

بالإضافة إلى أنواع بيانات التمارين وأنواع بيانات المراقبة السلبية، توفّر الأجهزة ميزات إضافية لتحفيز الأحداث مثل بدء التمرين وقياس الحالة، مثل النوم مقابل الاستيقاظ. وتتوفر بعض هذه الميزات على جميع الأجهزة، في حين يتوفر البعض الآخر على بعض الأجهزة فقط.

عوامل تشغيل الأحداث

تتوافق جميع الأجهزة مع عوامل التشغيل الشائعة التالية:

  • الأهداف اليومية للمسافة والخطوات
  • حدد أهدافًا لتحديد الخطوات والمسافة المقطوعة والمدة.

وقد تتوافق الأجهزة الأخرى مع عمليات تشغيل الأحداث الأكثر تقدّمًا. تتضمن بعض الأمثلة ما يلي:

  • حساب عدد اللفّات عند السباحة
  • أهداف ممارسة التمارين الرياضية المرتبطة بالسعرات الحرارية المحروقة
  • تحقيق الأهداف لتحقيق السرعة اللحظية

الولايات

تدعم جميع الأجهزة وظائف الحالة الأساسية. تشير وظيفة الحالة إلى ما إذا كان المستخدم حاليًا في تمرين نشط أم لا

قد توفّر الأجهزة الأخرى وظائف حالة إضافية. تتضمن بعض وظائف الحالة الإضافية اكتشاف ما إذا كان التمرين قد تم إيقافه مؤقتًا تلقائيًا أو استئنافه تلقائيًا، أو عندما يكون المستخدم مستيقظًا أو نائمًا.

التنبيهات الصحية في ميزة المراقبة السلبية

تتيح بعض الأجهزة استخدام التنبيهات الصحية. هذه الميزات غير متوفرة على بعض الأجهزة. تتضمن بعض التنبيهات الصحية اكتشاف اضطراب في معدل ضربات القلب أو اكتشاف السقوط.