إنشاء تطبيقات 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 في وحدة الأجهزة الجوّالة. استبدِل الاعتماد على "خدمات 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 في الصين، مع إمكانية الاطّلاع على سجلّ مدّته up to سبعة أيام. يمكنك الوصول إلى هذه البيانات بدون تقديم بيانات اعتماد مستخدم.

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

توفّر منصة 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

البيانات

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

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

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

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

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

  1. ثبِّت "محاكي Android".
  2. نزِّل صور Wear OS في الصين من مدير حِزم تطوير البرامج (SDK). استخدِم الإصدار 3.5 (المستوى 30 لواجهة برمجة التطبيقات) من Wear OS.
  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 خاصة بالتطبيق.

إذا طلب تطبيق قناة بلوتوث و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 التابعة لجهات خارجية، مثل ما يلي: