تطبيقات Wear OS المستقلة وغير المستقلة

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

تخطيط تطبيقك

يمكنك استخدام مجموعة حزمات تطبيق Android. إنشاء حِزم APK محسّنة تلقائيًا لإعداد كل جهاز من المستخدمين ضمن قائمة التطبيقات. يتيح هذا الإجراء للمستخدمين تنزيل الرمز والموارد التي يحتاجون إليها فقط تشغيل تطبيقك.

للحصول على معلومات حول إعداد تطبيقك للتوزيع من خلال متجر Google Play، فاطلع على تجميع تطبيقات Wear OS وتوزيعها ودليل بدء استخدام مجموعة حزمات تطبيق Android:

بالنسبة إلى التطبيقات الجديدة، يجب أن يكون مستوى واجهة برمجة التطبيقات المستهدَف هو 30 أو أعلى. لمزيد من المعلومات، يُرجى مراجعة تلبية واجهة برمجة التطبيقات المستهدَفة في Google Play المستوى. ضبط targetSdkVersion إلى المستوى 30 من واجهة برمجة التطبيقات (Wear OS 3) للمساعدة في ضمان عمل تطبيقك بشكل جيد باستخدام أحدث إصدار من النظام الأساسي

للحصول على معلومات عن طلبات الشبكة والوصول إلى الشبكة ذات النطاق الترددي العالي، عرض الوصول إلى الشبكة ومزامنتها على نظام التشغيل Wear OS

تعريف التطبيق على أنّه تطبيق Wear OS

يجب تحديد العلامة <uses-feature> في ملف بيان Android لتطبيقك. للإشارة إلى أنّه تطبيق ساعة ذكية، أضِف إدخالاً كما يلي:

  <manifest>
  ...
  <uses-feature android:name="android.hardware.type.watch" />
  ...
  </manifest>
  

تحديد تطبيق كتطبيق مستقل أو غير مستقل

يعتبر تطبيق الساعة الذكية إما مستقلاً أو غير مستقل:

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

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

تتحقّق Google من دقة حالة التطبيق المستقل أثناء استخدامه. بين الأطراف. تؤثر هذه القيمة في مستوى رؤية التطبيقات ضمن "متجر Play" على الأجهزة غير المرتبطة، مثل أجهزة Wear OS التي لم يتم إقرانها باليد الأجهزة. التطبيقات غير المستقلة، بالإضافة إلى التطبيقات التي يخطئ المطوّرون في استخدامها "مستقلة"—لا تكون متاحة للمستخدمين على هذه الأدوات الأجهزة.

في تطبيق Wear OS، اضبط قيمة العنصر meta-data com.google.android.wearable.standalone. في ملف بيان Android لتوضيح ما إذا كان تطبيقك مستقلاً أو غير مستقل.

إذا كان تطبيق الساعة الذكية هو تطبيق مستقل تمامًا ومستقل، يُرجى تحديد إلى متجر Google Play من خلال ضبط قيمة من com.google.android.wearable.standalone إلى true:

<application>
...
  <meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="true" />
...
</application>

إذا كان تطبيق الساعة الذكية غير مستقل ويعتمد على تطبيق آخر للميزات الأساسية، ضبط قيمة com.google.android.wearable.standalone على false يشير هذا إلى أنّ تطبيق الساعة الذكية يتطلب جهازًا آخر، غير أنّه لا يتطلّب الحصول على سيؤثر في الترويج لتطبيقك على متجر Google Play.

ملاحظة: حتى إذا كانت قيمة com.google.android.wearable.standalone false، الساعة قبل تثبيت تطبيق الهاتف. لذلك، إذا كان تطبيق الساعة الذكية رصد وجود هاتف مصاحب تطبيق الهاتف اللازم كما هو موضح في هذه الصفحة، أن تطلب من المستخدم تثبيت تطبيق الهاتف.

تخزين البيانات والرموز البرمجية المشتركة

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

اختياريًا، التعليمة البرمجية الخاصة بشكل الجهاز يمكن أن تكون في وحدة منفصلة.

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

رصد تطبيقك على جهاز آخر

تطبيق الساعة الذكية وتطبيق الهاتف المقابل اكتشاف ما إذا كان التطبيق الآخر متاحًا أم لا.

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

عند تثبيت تطبيق على عقدة في شبكة Wear OS الخاصة بالمستخدم، مثلًا على هاتف أو ساعة مقترنة في السحابة الإلكترونية، يتيح CapabilityClient للآخرين اكتشافه. لمزيد من المعلومات، يُرجى مراجعة إمكانات الإعلان:

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

يجب التحقّق مما إذا كان "متجر Play" متوفّرًا على الجهاز، لأن بعض الهواتف مثل iPhone لا تتوافق "متجر Play".

تصف الأقسام التالية أفضل الممارسات لسيناريوهين:

  • يحتاج تطبيق الساعة المستقل إلى تطبيق هاتفك.
  • يحتاج تطبيق الهاتف إلى تطبيق الساعة المستقل.

يمكنك أيضًا مراجعة نموذج مساعد Datalayer، والذي يوضح كيفية استخدام مكتبات مساعدات Datalayer، وهي جزء من أخصائي أمراض خيول. تتيح لك أجهزة المساعدة هذه مراقبة الاتصال بين جهاز محمول باليد وجهاز Wear OS. لمزيد من المعلومات حول الفئات الموضحة في القسم التالي، راجع مرجع واجهة برمجة التطبيقات لنظام التشغيل Wear OS يتضمن هذا المرجع أيضًا معلومات حول PhoneTypeHelper، التي تحتوي على getPhoneDeviceType() التي تتيح يتحقّق تطبيق Wear OS مما إذا كان الهاتف المصاحب لجهاز Android أو iOS.

تحديد أسماء الإمكانيات لرصد تطبيقاتك

بالنسبة إلى التطبيق الذي يتوافق مع كل نوع جهاز، سواء كان ساعة أو هاتفًا، حدِّد سلسلة فريدة لاسم الإمكانية في ملف res/values/wear.xml.

على سبيل المثال، في وحدة الجوّال، يمكن للملف wear.xml ما يلي:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_phone_app</item>
    </string-array>
</resources>

في وحدة Wear OS، يتضمّن ملف wear.xml قيمة مختلفة لاسم الإمكانية، مثل ما يلي:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_wear_app</item>
    </string-array>
</resources>

لمزيد من المعلومات، يُرجى مراجعة إمكانات الإعلان:

رصد التطبيقات وفتح عنوان URL من الساعة

يمكن لتطبيق الساعة الذكية اكتشاف ما إذا كان الهاتف المصاحب للمستخدم يحتوي على تطبيق الهاتف المحمول. يُرجى اتّباع الخطوات التالية:

  1. يمكنك استخدام CapabilityClient لمعرفة ما إذا كان تطبيق الهاتف مثبّتًا أم لا على الهاتف المقترن. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج لمساعدي Datalayer على GitHub.
  2. إذا لم يكن تطبيق الهاتف مثبَّتًا على الهاتف، يمكنك استخدام PhoneDeviceType.getPhoneDeviceType() من أجل تحقَّق من نوع الهاتف. راجِع القسم التالي للاطّلاع على التفاصيل.
  3. في حال حذف PhoneDeviceType.DEVICE_TYPE_ANDROID حيث يكون الهاتف هو هاتف Android. اتصل RemoteActivityHelper.startRemoteActivity() على جهاز Wear OS من أجل: افتح "متجر Play" على الهاتف. استخدِم معرّف الموارد المنتظم (URI) للسوق على هاتفك. تطبيقك، والذي قد يختلف عن معرّف الموارد المنتظم (URI) لتطبيق Wear OS. على سبيل المثال، استخدم معرِّف الموارد المنتظم (URI) للسوق، مثل: market://details?id=com.example.android.wearable.wear.finddevices
  4. في حال حذف PhoneDeviceType.DEVICE_TYPE_IOS يكون الهاتف هو هاتف iOS وبدون تشغيل هذا المتجر متوفّر. فتح App Store على هاتف iPhone من خلال الاتصال بـ RemoteActivityHelper.startRemoteActivity() على Wear جهاز ChromeOS. يمكنك تحديد عنوان URL لتطبيقك على iTunes، مثل https://itunes.apple.com/us/app/yourappname

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

ملاحظة: يجب استخدام RemoteActivityHelper API الموضّح سابقًا من أجل تحديد أي عنوان URL يتم فتحه على الهاتف من الساعة وأنه لا يلزم استخدام تطبيق الهاتف.

تفاصيل رصد نوع الهاتف المقترن

في ما يلي مقتطف يستخدم طريقة getPhoneDeviceType() تحقّق من نوع الهاتف الذي تم إقران الساعة به:

Kotlin

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

Java

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

القيمة التي تعرضها السمة getPhoneDeviceType() هو أحد ما يلي:

القيمة المعروضة الوصف
DEVICE_TYPE_ANDROID الهاتف المصاحب هو جهاز Android.
DEVICE_TYPE_IOS الهاتف المصاحب هو جهاز iOS.
DEVICE_TYPE_UNKNOWN الهاتف المصاحب جهاز غير معروف.
DEVICE_TYPE_ERROR حدث خطأ أثناء تحديد نوع الهاتف المقترن. عملية تحقّق أخرى لاحقًا.

رصد التطبيقات بدءًا من هاتف Android

يمكن لهاتف Android اكتشاف ما إذا كانت أجهزة Wear OS لدى المستخدم تتضمن تطبيق الساعة الذكية. يُرجى اتّباع الخطوات التالية:

  1. استخدام NodeClient، العثور على جميع الساعات المرتبطة بحساب المستخدم هاتفك. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج لمساعدي Datalayer على GitHub.
  2. استخدام CapabilityClient، يمكنك التحقّق من ساعات المستخدم التي تتضمّن تم تثبيت تطبيقك.
  3. إذا لم يكن تطبيقك مثبَّتًا على جميع ساعات المستخدم، عليك السماح للمستخدم بذلك. فتح "متجر Play" على أجهزة Wear OS المتبقية من الهاتف باستخدام طريقة RemoteActivityHelper.startRemoteActivity(). استخدِم معرّف الموارد المنتظم (URI) للسوق لتطبيق Wear OS، والذي قد يكون مختلف عن معرّف الموارد المنتظم (URI) لتطبيق الهاتف. على سبيل المثال، يمكنك استخدام معرّف موارد منتظم (URI) للسوق مثل: market://details?id=com.example.android.wearable.wear.finddevices

بيانات الموقع الجغرافي للساعات المقترنة بأجهزة iPhone

للساعات المقترنة بأجهزة iPhone، يمكنك استخدام خدمة "موفِّر الموقع المدمج" (FLP) للحصول على بيانات الموقع الجغرافي على الساعة. لمزيد من المعلومات، يُرجى مراجعة اكتشاف الموقع الجغرافي على Wear OS

إذا كان الهاتف المصاحب متاحًا، يستخدم FLP الهاتف المصاحب من أجل لبيانات الموقع.

الحصول على البيانات الضرورية فقط

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

عند ربط ساعة عبر اتصال Bluetooth LE، يمكن أن يصبح تطبيقك يمكنهم الوصول إلى نطاق ترددي يبلغ 4 كيلوبايت في الثانية فقط، وذلك حسب على الساعة. ولذلك، يوصى بالخطوات التالية:

  • يمكنك مراجعة طلبات الشبكة واستجاباتها للحصول على بيانات إضافية مطلوبة لتطبيق الهاتف.
  • تقليص الصور الكبيرة قبل إرسالها عبر الشبكة إلى الساعة.

وبالنسبة إلى الحالات التي تتطلب فيها شبكة ذات معدل نقل بيانات عالي، راجع الوصول إلى الشبكة ذات معدّل نقل البيانات العالي

عيّنات تعليمات برمجية إضافية

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