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

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

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

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

Exercise client

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

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

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

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

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

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

يتم استخلاص أنواع البيانات فقط من البيانات التي تنشئها أجهزة الاستشعار على الساعة. على سبيل المثال، تأتي بيانات الموقع الجغرافي من الساعة فقط وليس من الهاتف.

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

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

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

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

  • تحتوي أنواع البيانات النموذجية على نوع بيانات _STATS مطابق يعرض الحد الأدنى والحد الأقصى ومتوسط القيم من التمرين. على سبيل المثال، يمكن استرداد إحصاءات PACE باستخدام نوع البيانات PACE_STATS.
  • تحتوي أنواع بيانات الفترات على نوع بيانات _TOTAL مطابق يعرض القيمة التراكمية من التمرين. على سبيل المثال، يمكن استرداد إحصاءات DISTANCE باستخدام نوع البيانات DISTANCE_TOTAL.
الجدول 1: أنواع بيانات التمارين الرياضية المتوفّرة على جميع الأجهزة
المقياس البيانات المتوقّعة ملاحظات حول السلوكيات المتوقّعة
HEART_RATE_BPM نبضة في الدقيقة [DataType: Double] تأخذ جميع الأجهزة عيّنة من معدّل نبضات القلب مرة واحدة في الثانية أثناء ممارسة التمارين. تُبلغ بعض الأجهزة عن قيمة نبضة في الدقيقة كل ثانية. لا تبلغ بعض الأجهزة عن نبضات القلب في الدقيقة إلا عندما تتغيّر عن القيمة السابقة. لا تتوقّع تلقّي قيمة BPM كل ثانية على جميع الأجهزة.
الموقع خط العرض وخط الطول [نوع البيانات: مزدوج] تستند بيانات الموقع الجغرافي إلى نظام تحديد المواقع العالمي (GPS) للساعة فقط. لا تتوقّع أن تأتي بيانات الموقع الجغرافي من Fused Location Provider أو خدمات Android الأخرى. تتضمّن كل نقطة بيانات أيضًا قيمة دقة (تُعرف أيضًا باسم خطأ في الموضع الأفقي) ومدى التوفّر.
الخطوات [نوع البيانات: Long] عدد الخطوات هو إجمالي عدد الخطوات خلال مدة التمرين، ولا يشمل الوقت الذي يتم فيه إيقاف التمرين مؤقتًا
DISTANCE أمتار [نوع البيانات: رقم مزدوج الدقة] يتم احتسابها من الموقع الجغرافي المستند إلى نظام تحديد المواقع العالمي (GPS) عند توفّره، ومن الخطوات في حال عدم توفّره. يشير الإجمالي إلى إجمالي المدة التي استغرقتها ممارسة التمارين الرياضية، ولا يشمل الوقت الذي تم فيه إيقاف التمرين مؤقتًا.
السرعة [متر في الثانية] [نوع البيانات: مزدوج] تعرض الحد الأدنى والأقصى والمتوسط للقيم. وتكون هذه القيم على مدار مدة التمرين، ولا تشمل الوقت الذي تم فيه إيقاف التمرين مؤقتًا.
سرعة [ثانية / متر] [نوع البيانات: مزدوج] القيمة التلقائية هي 0 إذا كانت السرعة 0. يتم احتساب المتوسطات على مدار مدة التمرين، ولا يشمل ذلك الوقت الذي تم فيه إيقاف التمرين مؤقتًا.
ELEVATION_GAIN متر [نوع البيانات: مزدوج] التغييرات الإيجابية في الارتفاع يتم تسجيل الإجمالي على مدار مدة التمرين، باستثناء الوقت الذي تم فيه إيقاف التمرين مؤقتًا.
TOTAL_CALORIES kCal [نوع البيانات: مزدوج] السعرات الحرارية المحروقة نتيجة ممارسة نشاط بدني، بالإضافة إلى معدل الأيض الأساسي تأخذ السعرات الحرارية المنبعثة هنا في الاعتبار طول المستخدم ووزنه وعمره وجنسه كما هو محدّد في إعدادات النظام. لا تأخذ السعرات الحرارية في الاعتبار أي بيانات ملف شخصي للمستخدم يتم جمعها في تطبيقك. ويتم احتساب الإجمالي المُبلَغ عنه على مدار مدة التمرين، باستثناء الوقت الذي يتم فيه إيقاف التمرين مؤقتًا.

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

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

في ما يلي أمثلة على أنواع البيانات الاختيارية. ملاحظة: إنّ قائمة الأمثلة هذه ليست شاملة.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MeasureClient

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

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

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

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

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

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

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

مشغّلات الأحداث

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

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

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

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

الولايات

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

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

تنبيهات صحية في وضع المراقبة السلبية

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