برنامه‌های Wear OS را برای چین ایجاد کنید

هنگام ایجاد برنامه‌های Wear OS برای چین، باید گوشی‌هایی را که سرویس‌های Google Play از پیش نصب نشده‌اند، در نظر بگیرید. این صفحه شامل تغییرات رایجی است که توسعه‌دهندگان ممکن است برای بازار چین نیاز به اعمال آنها داشته باشند.

از نسخه صحیح سرویس‌های گوگل پلی استفاده کنید

نسخه ۱۰.۲.۰ سرویس‌های گوگل پلی پشتیبانی جهانی از رابط برنامه‌نویسی کاربردی ارائه‌دهنده مکان Fused و رابط برنامه‌نویسی کاربردی لایه داده را ارائه می‌دهد. اگر از این رابط‌های برنامه‌نویسی کاربردی برای اطمینان از پشتیبانی از طیف وسیع‌تری از دستگاه‌های Wear OS در چین استفاده می‌کنید، باید از این نسخه از سرویس‌های گوگل پلی استفاده کنید. در موارد دیگر، این وابستگی اختیاری است.

توجه: اگرچه سرویس‌های گوگل پلی شامل APIهایی برای برنامه‌های Wear OS هستند، برنامه‌های Wear OS مخصوص چین باید همچنان از APIهای مرتبط با GoogleApiClient استفاده کنند؛ به بخش دسترسی به API دستگاه‌های پوشیدنی مراجعه کنید.

API ارائه دهنده موقعیت مکانی ادغام شده

اگر از API ارائه دهنده موقعیت مکانی Fused استفاده می‌کنید، وابستگی زیر را در فایل build.gradle ماژول Wear OS خود وارد کنید:

گرووی

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

کاتلین

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

رابط برنامه‌نویسی کاربردی لایه داده

اگر برنامه شما از API لایه داده (Data Layer API) استفاده می‌کند، باید خط زیر را به فایل build.gradle ماژول Wear OS خود اضافه کنید. این خط نیاز به استفاده از نسخه 10.2.0 کتابخانه کلاینت دارد.

گرووی

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

کاتلین

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'
}

کاتلین

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

احراز هویت

قبل از پیاده‌سازی احراز هویت، موارد استفاده خود را بررسی کنید تا ببینید آیا احراز هویت واقعاً مورد نیاز است یا خیر. به عنوان مثال، برای برنامه‌ای که پیش‌بینی آب و هوا را ارائه می‌دهد، احتمالاً نیازی به ورود به سیستم و در نتیجه احراز هویت نیست.

اگر به احراز هویت نیاز دارید، توصیه می‌کنیم از کتابخانه AndroidX Oauth استفاده کنید. این امر مستلزم استفاده از Authorization Code Grant با جریان PKCE است. همچنین می‌توانید از یکی از روش‌های دیگر شرح داده شده در احراز هویت در دستگاه‌های پوشیدنی استفاده کنید. استفاده از کتابخانه پشتیبانی دستگاه‌های پوشیدنی توصیه نمی‌شود.

برای اطلاعات بیشتر، به نمونه Wear OS OAuth در GitHub مراجعه کنید.

اعلان‌های پل‌بندی‌شده

اعلان‌های پل ارتباطی در چین پشتیبانی نمی‌شوند. اعلان‌های تلفن فقط در صورتی به Wear OS متصل می‌شوند که دستگاه Wear OS از طریق بلوتوث به تلفن متصل باشد.

سازگاری مختصات مکانی و نقشه‌برداری

از FusedLocationProvider (FLP) برای تشخیص موقعیت مکانی کاربر در چین، همانطور که برای سایر نقاط جهان استفاده می‌کنید، استفاده کنید. این تضمین می‌کند که برنامه شما صرف نظر از سخت‌افزار ساعت و پلتفرم تلفنی که ساعت به آن متصل است، بهترین اطلاعات را در نظر می‌گیرد. استفاده از FLP همچنین بهینه‌سازی باتری را که در پلتفرم Wear OS تعبیه شده است، اضافه می‌کند.

هنگام ادغام FusedLocationProvider با SDK های نقشه شخص ثالث، سازگاری مختصات بین ارائه دهندگان را در نظر بگیرید. FusedLocationProvider مکان را طبق استاندارد WGS84 گزارش می‌دهد. حتماً سیستم‌های مختصات را در صورت لزوم تبدیل کنید.

پشتیبانی از گوگل فیت

شمارنده‌ی تعداد قدم‌ها، دقایق حرکت و امتیازهای قلب گوگل فیت در چین پشتیبانی می‌شوند و تا هفت روز سابقه را ذخیره می‌کنند. می‌توانید بدون ارائه‌ی اطلاعات کاربری به این موارد دسترسی داشته باشید.

پشتیبانی از عملکرد صوتی

پلتفرم Wear OS چندین فرمان صوتی ارائه می‌دهد که بر اساس اقدامات کاربر مانند _"نمایش ضربان قلب"_ یا _"تنظیم زنگ هشدار"_ عمل می‌کنند. این به کاربران اجازه می‌دهد آنچه را که می‌خواهند انجام دهند بگویند و به سیستم اجازه می‌دهد بهترین فعالیت را برای شروع تشخیص دهد.

وقتی کاربران یک عمل صوتی را بیان می‌کنند، برنامه شما می‌تواند intent ای را که برای شروع یک activity فعال می‌شود، فیلتر کند. برای شروع یک سرویس در پس‌زمینه، یک activity را به عنوان یک نشانه بصری نمایش دهید و سرویس را در activity شروع کنید. برای خلاص شدن از نشانه بصری، حتماً تابع 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 : یک عدد صحیح در محدوده ۱ تا ۸۶۴۰۰ (تعداد ثانیه‌ها در ۲۴ ساعت)، که طول تایمر را نشان می‌دهد.

شروع کرونومتر开始计时اکشن

com.google.android.wearable.action.STOPWATCH

شروع یا توقف دوچرخه‌سواری开始骑车اکشن

vnd.google.fitness.TRACK

نوع مایم

vnd.google.fitness.activity/biking

موارد اضافی

actionStatus : رشته‌ای با مقدار ActiveActionStatus هنگام شروع و CompletedActionStatus هنگام توقف

شروع یا توقف دویدن开始跑步اکشن

vnd.google.fitness.TRACK

نوع مایم

vnd.google.fitness.activity/running

موارد اضافی

actionStatus : رشته‌ای با مقدار ActiveActionStatus هنگام شروع و CompletedActionStatus هنگام پایان

شروع یا توقف تمرین开始锻炼اکشن

vnd.google.fitness.TRACK

نوع مایم

vnd.google.fitness.activity/other

موارد اضافی

actionStatus : رشته‌ای با مقدار ActiveActionStatus هنگام شروع و CompletedActionStatus هنگام پایان

نمایش ضربان قلب查看心率اکشن

vnd.google.fitness.VIEW

نوع مایم

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

نمایش تعداد گام‌ها查看步数اکشن

vnd.google.fitness.VIEW

نوع مایم

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

ناوبری导航去三里屯اکشن

android.intent.action.VIEW

داده‌ها

جغرافیا: عرض جغرافیایی، طول جغرافیایی؟q=融科资讯中心

دستیار صوتی همچنین می‌تواند از اهداف رایج موجود در اندروید برای ایجاد رفتارهای خاص در صورت لزوم استفاده کند.

پشتیبانی از شبیه‌ساز

شما می‌توانید از نسخه چینی شبیه‌ساز Wear OS برای تست برنامه‌های خود استفاده کنید. این نسخه توسط اندروید استودیو ۳.۰ و بالاتر پشتیبانی می‌شود.

برای آزمایش برنامه‌های خود در نسخه چین شبیه‌ساز، این مراحل را دنبال کنید:

  1. شبیه‌ساز اندروید را نصب کنید.
  2. ایمیج‌های Wear OS مخصوص چین را از SDK manager دانلود کنید. از نسخه مخصوص Wear OS 3.5 (سطح API 30) استفاده کنید.
  3. هنگام ایجاد پروفایل AVD، تصویر Wear OS for China را انتخاب کنید.
  4. برای توسعه، شبیه‌ساز Wear OS for China را اجرا کنید.
  5. شکل ۱. نمونه‌هایی از نسخه چینی شبیه‌ساز Wear OS.

این نسخه از شبیه‌ساز Wear OS با چندین برنامه از پیش نصب شده ارائه می‌شود:

  • حالت محیط
  • مخاطبین
  • ورودی دست‌خط گوگل
  • سرویس‌های گوگل پلی
  • خدمات درمانی برای Wear OS
  • تشخیص کلمات کلیدی برای دستگاه‌های LE
  • پینیین
  • فروشگاه Play (سازگار با دستگاه‌های چین)
  • ساعت جیبی
  • تاک بک
  • واچ‌فیس‌ها (هم نسخه‌های آنالوگ و هم دیجیتال)
  • خدمات اصلی بپوشید

یک کانال بلوتوث و وای‌فای مخصوص برنامه راه‌اندازی کنید

Wear OS به طور خودکار درخواست‌های شبکه را مسیریابی می‌کند. در بیشتر موارد، هیچ الزامی برای باز کردن کانال بلوتوث و وای‌فای مخصوص برنامه توسط برنامه وجود ندارد.

اگر یک برنامه درخواست کانال بلوتوث و وای‌فای مخصوص برنامه در چین را داشته باشد، درخواست بی‌سروصدا رد می‌شود. در عوض، یک کادر محاوره‌ای نمایش داده می‌شود که از کاربر تأیید می‌خواهد. اگر کاربر تأیید کند، کانال باز می‌شود. این اتفاق هر بار رخ می‌دهد، نه فقط در اولین استفاده. BluetoothAdapter.enable() یا WifiManager.setEnabled(true) فراخوانی می‌شوند.

توجه: برای اینکه برنامه‌ای که اندروید ۱۰ (سطح API ۲۹) یا بالاتر را هدف قرار می‌دهد بتواند WifiManager.setEnabled() را فراخوانی کند، باید یک برنامه سیستمی یا یک کنترل‌کننده سیاست دستگاه (DPC) باشد.

حالت بررسی مجوزها

در چین، دستگاه‌های Wear OS برای چین در حالت بررسی مجوز اجرا می‌شوند که محدودیت‌هایی را در مورد نحوه استفاده از برنامه‌هایی با targetApiLevel کمتر از ۲۳ اعمال می‌کند. محدودیت‌های زیر را بررسی کنید:

  • اگرچه مجوزها در زمان نصب اعطا می‌شوند، اما وقتی برنامه‌ای با targetApiLevel کمتر از ۲۳ برای اولین بار اجرا می‌شود، پنجره‌ای ظاهر می‌شود که از کاربر می‌خواهد مجوزهای این برنامه را تأیید کند.
  • اجزای موجود در برنامه، مانند گیرنده‌های پخش، سرویس‌ها و فعالیت‌ها، قبل از اولین استفاده از برنامه، به رویدادهای مربوطه پاسخ نمی‌دهند.

در نتیجه، توصیه می‌کنیم از targetApiLevel 23 یا بالاتر استفاده کنید و بهترین شیوه‌های مجوزهای برنامه را اتخاذ کنید.

از سایر APIهای سرویس‌های گوگل پلی استفاده کنید

اگر برنامه شما از APIهای سرویس‌های گوگل پلی غیر از Wearable API استفاده می‌کند، برنامه شما باید بررسی کند که آیا این APIها در زمان اجرا برای استفاده در دسترس هستند و به طور مناسب پاسخ می‌دهند یا خیر. دو راه برای بررسی در دسترس بودن APIهای سرویس گوگل پلی وجود دارد:

  1. برای اتصال به API های دیگر از یک نمونه جداگانه GoogleApiClient استفاده کنید. این رابط شامل فراخوانی‌هایی است که به برنامه شما در مورد موفقیت یا شکست اتصال هشدار می‌دهد. در صورت عدم موفقیت اتصال، ConnectionResult API_UNAVAILABLE نشان می‌دهد. برای یادگیری نحوه مدیریت شکست‌های اتصال، به Access Google APIs مراجعه کنید.
  2. از متد addApiIfAvailable() از GoogleApiClient.Builder برای اتصال به APIهای مورد نیاز استفاده کنید. پس از اجرای فراخوانی onConnected() ، از متد hasConnectedApi() برای اطمینان از اتصال صحیح هر یک از APIهای درخواستی استفاده کنید.

توزیع برنامه‌ها در چین

برای دسترسی مؤثر به کاربران Wear OS در چین، می‌توانید از طریق فروشگاه‌های اپلیکیشن Wear OS شخص ثالث مانند موارد زیر، برنامه را توزیع کنید: