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

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

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

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

ملاحظة: على الرغم من أن "خدمات Google Play" تتضمن يجب استمرار واجهات برمجة التطبيقات لتطبيقات Wear OS، وتطبيقات Wear OS في الصين استخدام واجهات برمجة تطبيقات ذات صلة بـ GoogleApiClient الرؤية الوصول إلى Wearable API

واجهة برمجة تطبيقات موفر الموقع المدمج

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

Groovy

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 من ومكتبة العملاء.

Groovy

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.

Groovy

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")
}

المصادقة

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

إذا كنت بحاجة إلى المصادقة، ننصحك باستخدام مكتبة Oauth لنظام التشغيل AndroidX يتطلب هذا استخدام مسار منح رموز التفويض باستخدام 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

البيانات

geo:خطوط الطول والعرض?q=融科资讯心

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

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

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

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

  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
  • خدمات 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. راجِع الحدود التالية:

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

نتيجةً لذلك، ننصحك باستخدام الإصدار 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 التابعة لجهة خارجية، مثل ما يلي: