إنشاء تطبيقات 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. يُرجى الاطّلاع على الوصول إلى Wearable API.

Fused Location Provider API

إذا كنت تستخدِم واجهة برمجة التطبيقات 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 في وحدة الأجهزة الجوّالة. يُرجى استخدام إشارة إلى الإصدار 10.2.0 بدلاً من الاعتمادية على "خدمات Google Play".

رائع

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: الوجهة المعروفة

إنّ المبلغ الإضافي اختياري.

تعيير منبّه 设置small个明早七点っ闹钟 الإجراء

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

البيانات

geo:latitude,longitude?q=融科资讯中心

يمكن أن يستخدم "مساعد Google الصوتي" أيضًا النوايا الشائعة في Android لبدء سلوكيات معيّنة عند الاقتضاء.

إتاحة استخدام المحاكيات

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

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

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

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

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

بدء قناة بلوتوث وWi-Fi خاصة بالتطبيق

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

وإذا لم يطلب أحد التطبيقات قناة Bluetooth و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" غير Wearable API، يجب أن يتحقّق تطبيقك مما إذا كانت واجهات برمجة التطبيقات هذه متاحة للاستخدام أثناء وقت التشغيل وأن يستجيب بشكل مناسب. هناك طريقتان للتحقّق من توفُّر واجهات برمجة التطبيقات لخدمات Google Play:

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

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

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