إنشاء تطبيقات 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

Extra

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:خطوط الطول والعرض?q=融科资讯心

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

إتاحة المحاكي

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

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

  1. ثبِّت "محاكي Android".
  2. نزِّل صورًا لنظام التشغيل Wear OS في الصين من مدير حزمة تطوير البرامج (SDK). استخدِم الإصدار 3.5 (المستوى 30 لواجهة برمجة التطبيقات) من Wear OS.
  3. اختَر صورة Wear OS في الصين عند إنشاء ملف شخصي لجهاز افتراضي.
  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 بخلاف واجهة برمجة التطبيقات القابلة للارتداء، على تطبيقك التحقق مما إذا كان يمكن استخدام واجهات برمجة التطبيقات هذه أثناء وقت التشغيل والاستجابة بشكل مناسب. هناك طريقتان للتحقّق من توفّر واجهات برمجة تطبيقات "خدمات Google Play":

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

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

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