إنشاء تطبيقات Wear OS في الصين

عند إنشاء تطبيقات Wear OS في الصين، يجب احتساب الهواتف المحمولة التي لم يتم تثبيت خدمات Google Play عليها مسبقًا. تحتوي هذه الصفحة على تغييرات شائعة قد يحتاج المطوّرون إلى اتّباعها في السوق الصينية.

استخدام الإصدار الصحيح من "خدمات Google Play"

يوفّر الإصدار 10.2.0 من "خدمات Google Play" إمكانية استخدام في جميع أنحاء العالم لـ Fused Location Provider API و Data Layer API. يجب استخدام هذا الإصدار من خدمات Google Play إذا كنت تستخدم واجهات برمجة التطبيقات هذه لضمان التوافق مع مجموعة أكبر من أجهزة Wear OS في الصين. وفي حالات أخرى، تكون هذه الاعتمادية اختيارية.

ملاحظة: مع أنّ خدمات Google Play تحتوي على واجهات برمجة تطبيقات لتطبيقات Wear OS، يجب أن تواصل تطبيقات Wear OS في الصين استخدام واجهات برمجة التطبيقات المرتبطة بالموقع GoogleApiClient. يُرجى مراجعة الوصول إلى واجهة برمجة التطبيقات Wear OS.

واجهة برمجة التطبيقات المُدمَجة لمزوّد الموقع الجغرافي

إذا كنت تستخدم واجهة برمجة التطبيقات Fused Location Provider API، أدرِج السمة الاعتمادية التالية في ملف build.gradle الخاص بوحدة Wear OS:

رائع

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-location:10.2.0")
}

واجهة برمجة تطبيقات طبقة البيانات

إذا كان تطبيقك يستخدم Data Layer API، عليك إضافة السطر التالي إلى ملف build.gradle في وحدة Wear OS. يتطلب السطر استخدام الإصدار 10.2.0 من مكتبة البرامج.

رائع

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
    ...
}

أضف السطر التالي إلى ملف build.gradle في وحدة الجوّال. استبدِل تبعية "خدمات Google Play" بالرجوع إلى الإصدار 10.2.0.

رائع

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
}

المصادقة

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

وإذا كنت تطلب المصادقة، ننصحك باستخدام مكتبة AndroidX Oauth. يتطلب ذلك استخدام مسار منح رمز التفويض مع PKCE. يمكنك أيضًا استخدام إحدى الطرق الأخرى الموضحة في المصادقة على الأجهزة القابلة للارتداء. لا يُنصح باستخدام "مكتبة الدعم للأجهزة القابلة للارتداء".

لمزيد من المعلومات، يمكنك الاطّلاع على نموذج OAuth لنظام التشغيل Wear OS على GitHub.

الإشعارات التي يمكن تلقّي إشعاراتها

لا تتوفّر الإشعارات المرسَلة عبر ميزة "الجسر" في الصين. لا يتم إرسال إشعارات الهاتف إلى نظام التشغيل Wear OS إلا إذا كان جهاز Wear OS متصلاً بالهاتف باستخدام البلوتوث.

التوافق مع إحداثيات الموقع الجغرافي ورسم الخرائط

استخدِم FusedLocationProvider (FLP) لرصد الموقع الجغرافي للمستخدم في الصين كما تفعل في بقية أنحاء العالم. ويضمن ذلك أن يأخذ التطبيق في الاعتبار أفضل المعلومات، بغض النظر عن الجهاز المستخدَم للساعة ونظام الهاتف الأساسي الذي يتم إقران الساعة به. يؤدي استخدام FLP أيضًا إلى إضافة تحسينات للبطارية المدمجة في نظام Wear OS.

عند دمج FusedLocationProvider مع حِزم تطوير البرامج (SDK) الخاصة بالخرائط التابعة لجهات خارجية، يجب مراعاة توافق الإحداثيات بين مقدّمي الخدمة. تُبلِغ FusedLocationProvider عن الموقع الجغرافي وفقًا لمعيار WGS84. تأكد من تحويل أنظمة الإحداثيات، حسب الحاجة.

دعم Google Fit

إنّ عدّاد الخطوات المجمّعة ودقائق الحركة ونقاط القلب في Google Fit متاح في الصين، مع سجلّ بيانات يصل إلى سبعة أيام. يمكنك الوصول إلى هذه البيانات بدون تقديم بيانات اعتماد المستخدم.

إتاحة الإجراءات الصوتية

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

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

في ما يلي قائمة بأهداف الصوت المتوافقة مع نظام Wear OS:

الفئة مثال مواصفات الأهداف
خدمة نقل سيارات 打车去苯里屯 الإجراء

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

إضافي

to: الوجهة المعروفة

العنصر الإضافي اختياري.

ضبط المنبّه الإجراء

android.intent.action.SET_ALARM

العناصر الإضافية

android.provider.AlarmClock.EXTRA_HOUR: عدد صحيح مع ساعة المنبّه

android.provider.AlarmClock.EXTRA_MINUTES: عدد صحيح مع دقيقة المنبّه

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

ضبط الموقّت الإجراء

android.intent.action.SET_TIMER

العناصر الإضافية

android.provider.AlarmClock.EXTRA_LENGTH: عدد صحيح يتراوح بين 1 و86400 (عدد الثواني في 24 ساعة)، ما يمثّل مدة الموقّت

بدء ساعة الإيقاف 开始计时 الإجراء

com.google.android.wearable.action.STOPWATCH

بدء ركوب الدراجة أو إيقافه 开始骑车 الإجراء

vnd.google.fitness.TRACK

نوع MIME

vnd.google.fitness.activity/biking

العناصر الإضافية

actionStatus: سلسلة تتضمّن القيمة ActiveActionStatus عند البدء وCompletedActionStatus عند الإيقاف

بدء الجري أو إيقافه 开始跑步 الإجراء

vnd.google.fitness.TRACK

نوع MIME

vnd.google.fitness.activity/running

العناصر الإضافية

actionStatus: سلسلة تتضمّن القيمة ActiveActionStatus عند البدء وCompletedActionStatus عند الإيقاف

بدء تمرين أو إيقافه 开始锻炼 الإجراء

vnd.google.fitness.TRACK

نوع MIME

vnd.google.fitness.activity/other

العناصر الإضافية

actionStatus: سلسلة تتضمّن القيمة ActiveActionStatus عند البدء وCompletedActionStatus عند الإيقاف

عرض معدّل نبضات القلب 心率 الإجراء

vnd.google.fitness.VIEW

نوع MIME

vnd.google.fitness.data_type/com.google.heart_rate.bpm

إظهار عدد الخطوات عرض 步数 الإجراء

vnd.google.fitness.VIEW

نوع MIME

vnd.google.fitness.data_type/com.google.step_count.cumulative

التنقّل 导航去苯里屯 الإجراء

android.intent.action.VIEW

البيانات

الموقع الجغرافي:خط العرض,خط الطول?q=融科资讯心

يمكن أن تستخدم ميزة "المساعد الصوتي" أيضًا أغراض Android الشائعة الحالية لتفعيل سلوكيات معيّنة حيثما ينطبق ذلك.

دعم المحاكي

يمكنك استخدام إصدار الصين من نسخة محاكي Wear OS لاختبار تطبيقاتك. ويتوفر هذا الإجراء في الإصدار 3.0 من "استوديو Android" والإصدارات الأحدث.

لاختبار تطبيقاتك على إصدار الصين من المحاكي، اتبع الخطوات التالية:

  1. ثبِّت محاكي Android.
  2. نزِّل صور "Wear OS في الصين" من مدير حزمة تطوير البرامج (SDK). استخدِم الإصدار 3.5 من Wear OS (المستوى 30 من واجهة برمجة التطبيقات).
  3. اختَر صورة "Wear OS في الصين" عند إنشاء ملف شخصي للاستخدام في AVD.
  4. يمكنك تشغيل محاكي "Wear OS في الصين" للتطوير.
  5. الشكل 1. أمثلة على إصدار الصين من محاكي Wear OS

يتضمّن هذا الإصدار من محاكي Wear OS العديد من التطبيقات المثبّتة مسبقًا:

  • وضع الصوت المحيط
  • جهات الاتصال
  • إدخال خط اليد من Google
  • خدمات Google Play
  • الخدمات الصحية على نظام التشغيل Wear OS
  • التعرف على الكلمة المفتاح لأجهزة LE
  • بن يين
  • متجر Play (مُعدَّل للأجهزة في الصين)
  • ساعة جيب
  • Talkback
  • خلفيات شاشة الساعة (التناظرية والرقمية)
  • الخدمات الأساسية لنظام Wear

ابدأ إنشاء قناة Bluetooth وWi-Fi خاصة بالتطبيق.

يوجِّه نظام التشغيل Wear OS طلبات الشبكة تلقائيًا. في معظم الحالات، لا يُطلب من التطبيق فتح قناة بلوتوث وWi-Fi خاصة بالتطبيق.

إذا طلب أحد التطبيقات قناة بلوتوث وWi-Fi خاصة بالتطبيق في الصين، لن يتم تنفيذ الطلب بدون تنبيه. بدلاً من ذلك، سيظهر مربّع حوار يطلب من المستخدم التأكيد. إذا أكّد المستخدم الإجراء، يتم فتح القناة. ويتم ذلك في كل مرة، وليس فقط عند الاستخدام الأول. يتم الاتصال بالرمز BluetoothAdapter.enable() أو WifiManager.setEnabled(true).

ملاحظة: بالنسبة إلى التطبيق الذي يستهدف Android 10 (المستوى 29 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث لطلب WifiManager.setEnabled()، يجب أن يكون تطبيق نظام أو وحدة تحكّم بسياسة الجهاز (DPC).

وضع مراجعة الأذونات

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

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

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

استخدام واجهات برمجة تطبيقات أخرى لخدمات Google Play

إذا كان تطبيقك يستخدم واجهات برمجة التطبيقات لخدمات Google Play غير واجهة برمجة التطبيقات القابلة للارتداء، سيحتاج تطبيقك إلى التحقّق مما إذا كانت واجهات برمجة التطبيقات هذه متاحة للاستخدام أثناء وقت التشغيل والاستجابة بالشكل المناسب. هناك طريقتان للتحقّق من توفُّر واجهات برمجة التطبيقات لخدمات Google Play:

  1. استخدام مثيل GoogleApiClient منفصل للاتصال بواجهات برمجة تطبيقات أخرى تحتوي هذه الواجهة على استدعاءات لتنبيه تطبيقك إلى نجاح الاتصال أو تعذُّره. في حال تعذّر الاتصال، تعرض ConnectionResult السمة API_UNAVAILABLE. لمعرفة كيفية التعامل مع حالات تعذُّر الاتصال، يُرجى الاطّلاع على الوصول إلى Google APIs.
  2. استخدِم طريقة addApiIfAvailable() في GoogleApiClient.Builder للاتصال بواجهات برمجة التطبيقات المطلوبة. بعد تنشيط معاودة الاتصال في onConnected()، استخدِم طريقة hasConnectedApi() للتأكّد من أنّ كل واجهات برمجة التطبيقات المطلوبة قد تم توصيلها بشكل صحيح.

توزيع التطبيقات في الصين

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