Wear OS 6 یک API جدید به نام Watch Face Push معرفی میکند که فرصتهایی را برای موارد استفاده پیشرفتهتر از انتشار چهره ساعت ایجاد میکند.
تشخیص دهید چه زمانی از Watch Face Push استفاده کنید
واچ فیس پوش (Watch Face Push) یک API در Wear OS است که به توسعهدهنده اجازه میدهد واچ فیسها را مستقیماً اضافه، بهروزرسانی یا حذف کند. این قابلیت برای توسعه واچ فیسهای استاندارد مورد نیاز نیست.
واچ فیسهایی که با Watch Face Push استفاده میشوند باید با استفاده از فرمت واچ فیس نوشته شوند. این میتواند شامل واچ فیسهایی باشد که با استفاده از Watch Face Designer، Watch Face Studio یا هر ابزار دیگری که واچ فیسهایی با فرمت واچ فیس تولید میکند، طراحی شدهاند.
اگرچه میتوان از Watch Face Push API به روشهای مختلفی استفاده کرد، جدول زیر شما را در موارد اصلی استفاده راهنمایی میکند:
| مورد استفاده | راه حل پیشنهادی | پیچیدگی |
|---|---|---|
| میخواهم واچ فیسهای تکی بسازم و منتشرشان کنم. | از قالب واچ فیس، چه مستقیماً و چه از طریق ابزاری مانند Watch Face Designer یا Watch Face Studio، استفاده کنید و آنها را در گوگل پلی منتشر کنید. | کم |
| میخواهم یک اپلیکیشن موبایل بسازم که به کاربران اجازه دهد از بین مجموعهای از واچفیسها، واچفیسهای دلخواه خود را انتخاب کنند، یا واچفیسهایی را برای نصب مستقیم روی ساعت Wear OS خود طراحی و سفارشیسازی کنند. | با استفاده از Watch Face Push API روی ساعت، یک برنامه برای ساعت و گوشی ایجاد کنید. | بالا |
هدف
کاربرد اصلی Watch Face Push API برای ایجاد یک اپلیکیشن فروشگاهی است. از طریق این اپلیکیشن، کاربران میتوانند از میان مجموعهای از واچ فیسها در گوشی خود، واچ فیسها را انتخاب کرده و مستقیماً نصب این واچ فیسها را روی ساعت متصل خود کنترل کنند.
ملاحظات
برای جزئیات بیشتر در مورد ساخت واچ فیسهای خود، به راهنمای قالب واچ فیس مراجعه کنید: واچ فیسهای پیادهسازی شده با استفاده از Watch Face Push، واچ فیسهای معمولی با قالب واچ فیس هستند.
هنگام ساخت صفحه ساعت خود، نکات زیر را در نظر داشته باشید.
نام بستهها
واچ فیسهای نصب شده با استفاده از Watch Face Push باید از قرارداد زیر پیروی کنند:
<app name>.watchfacepush.<watchface name>
... که در آن <app name> نام بسته برنامهای است که رابط برنامهنویسی Watch Face Push را فراخوانی میکند.
برای مثال، برای برنامهای با نام بسته com.example.mymarketplace ، موارد زیر نامهای بسته معتبر برای صفحه ساعت هستند:
-
com.example.mymarketplace.watchfacepush.watchface1 -
com.example.mymarketplace.watchfacepush.watchface2 -
com.example.mymarketplace.watchfacepush.another_watchface
این API، واچفیسهایی که با این قرارداد مطابقت ندارند را رد میکند.
محتویات بسته
این سیستم به شدت بر محتوای APK نظارت دارد. از نظر فنی میتوان APKهایی با فرمت Watch Face تولید کرد که حاوی فایلهای فراداده بیضرر و سایر مصنوعات باشند، که ممکن است برای Google Play قابل قبول باشند اما اعتبارسنجی Watch Face Push را پشت سر نگذارند (به زیر مراجعه کنید).
هر APK مربوط به واچ فیس باید فقط شامل فایلها/مسیرهای زیر باشد:
-
/AndroidManifest.xml -
/resources.arsc -
/res/** -
/META-INF/**
علاوه بر این، فایل AndroidManifest.xml باید فقط شامل تگهای زیر باشد:
-
<manifest> -
<uses-feature> -
<uses-sdk> -
<application> -
<property> -
<meta-data>
در نهایت، پکیج باید minSdk حداقل 33 را مشخص کند و تگ <application> باید ویژگی android:hasCode="false" را مشخص کند.
اعتبارسنجی
برخلاف واچ فیسهای معمولی که از طریق گوگل پلی توزیع میشوند، اپلیکیشن Marketplace مسئول تأیید صحت و عملکرد صحیح هر واچ فیس Push است.
Watch Face Push از بررسیهای اعتبارسنجی زیر برای تأیید کیفیت هر صفحه ساعت استفاده میکند:
- تمام واچ فیسهای نصب شده یا بهروزرسانی شده از طریق Watch Face Push API باید از ابزار اعتبارسنجی Watch Face Push عبور کنند.
- فقط از ابزار اعتبارسنجی رسمی برای تولید توکنهای اعتبارسنجی جهت استفاده با API استفاده کنید.
- ابزار اعتبارسنجی باید هنگام اجرای اعتبارسنجی بهروز باشد.
نیازی نیست APK که تغییر نکرده است را دوباره اعتبارسنجی کنید. توکنها منقضی نمیشوند، حتی اگر نسخه ابزار اعتبارسنجی مورد استفاده جایگزین شود.
در عین حال، توصیه میکنیم که اعتبارسنجی را هر از گاهی دوباره اجرا کنید، زیرا اعتبارسنج به صورت دورهای بهروزرسانی میشود.
اعتبارسنج را اجرا کنید
اعتبارسنج به سه شکل موجود است:
- یک ابزار CLI
- کتابخانهای برای استفاده با JVM
- کتابخانهای برای استفاده در اندروید
استفاده از اعتبارسنج خط فرمان
- اعتبارسنج را از مخزن Maven گوگل دریافت کنید.
ابزار را به صورت زیر اجرا کنید:
java -jar validator-push-cli-1.0.0-alpha07.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>در صورت موفقیت، خروجی شامل یک توکن اعتبارسنجی است که باید هنگام افزودن یا بهروزرسانی یک واچ فیس، آن را به Watch Face Push API ارائه دهید.
اگر خطایی رخ دهد، خروجی شامل جزئیاتی در مورد اینکه کدام بررسی خاص ناموفق بوده است، میباشد.
کاربرد اعتبارسنج کتابخانه
مخازن Google و Jitpack را اضافه کنید. هر دو برای استفاده از کتابخانه اعتبارسنج مورد نیاز هستند.
repositories { ... google() maven { url = uri("https://jitpack.io") content { includeGroup("com.github.xgouchet") } } }وابستگی اعتبارسنج را در پروژه خود لحاظ کنید:
// For use on JVM implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha07") // For use on Android implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha07")اعتبارسنج را اجرا کنید:
برای مثالی از استفاده از این کتابخانه، به نمونه GitHub مراجعه کنید. همچنین به کتابخانه Portable Asset Compiler Kit (Pack) مراجعه کنید که برای ساخت APKها روی دستگاه، برای استفاده با اعتبارسنج مبتنی بر اندروید، مفید است.
اندازه APK
برای به حداقل رساندن حجم APK، به خصوص در مورد Watch Face Push watch face ها دقت کنید: APK مربوط به watch face احتمالاً از طریق بلوتوث از برنامه تلفن به برنامه ساعت منتقل میشود که میتواند کند باشد.
یک فایل APK بیش از حد بزرگ میتواند زمان قابل توجهی برای انتقال نیاز داشته باشد، که هم یک تجربه کاربری ضعیف است و هم باعث تخلیه سریع باتری میشود.
- از کتابخانههای مناسب مانند
pngquantبرای به حداقل رساندن حجم فایلهای تصویری استفاده کنید.- این را در فرآیند ساخت مجموعه صفحه ساعت خود قرار دهید
- بررسی کنید که ابعاد تصویر برای مقیاسی که از آن استفاده میکنید مناسب باشد.
- تصاویر برش داده شده به طور مناسب برای حذف هرگونه پس زمینه اطراف هستند.
- کاهش حجم فایلهای فونت
- برای مثال، اگر از یک فونت خاص فقط برای نمایش زمان، با فرمت
HH:MM، استفاده میکنید، میتوانید از ابزاری مانندpyftsubsetبرای محدود کردن فایل فونت به منظور قرار دادن گلیفهای ضروری استفاده کنید. این کار میتواند به طور چشمگیری اندازه فایل فونت و APK حاصل را کاهش دهد. برای جزئیات بیشتر در مورد به حداقل رساندن اندازه فایل فونت، برای موارد دیگر، به این پست وبلاگ مراجعه کنید .
- برای مثال، اگر از یک فونت خاص فقط برای نمایش زمان، با فرمت
برای پیشنهادات بیشتر در مورد به حداقل رساندن حجم APK، به راهنمای بهینهسازی مصرف حافظه مراجعه کنید.
امضای APK
به عنوان یک APK معمولی، باید تمام واچ فیسهای خود را امضا کنید. یک کلید متفاوت از کلیدی که با برنامه اصلی خود استفاده میکنید ایجاد کنید و از آن کلید متفاوت برای همه واچ فیسهای خود استفاده کنید.
معماری
چهار جزء اصلی سیستم را در نظر بگیرید:
- ذخیرهسازی مبتنی بر ابر : در برنامهی متعارف Marketplace، شما واچفیسهای خود را در فضای ابری میسازید و ذخیره میکنید تا کاربرانتان بتوانند از آنها استفاده کنند. واچفیسها دارای ویژگیهای زیر هستند:
- آنها به صورت APK های معمولی با فرمت Watch Face از پیش ساخته شده اند.
- هر APK فقط شامل یک واچ فیس مبتنی بر فرمت واچ فیس است.
- آنها با فرآیند اعتبارسنجی Watch Face Push اعتبارسنجی شده و با توکن اعتبارسنجی مرتبط ذخیره میشوند.
- برنامه تلفن شما میتواند در صورت نیاز آنها را بازیابی کند.
- اپلیکیشن تلفن : اپلیکیشن تلفن، راه اصلی تعامل کاربران با سیستم شماست. این اپلیکیشن به آنها اجازه میدهد تا:
- فهرست صفحههای ساعت خود را مرور و جستجو کنید
- نصب یا تعویض صفحه ساعت روی ساعت
- اپلیکیشن ساعت : اپلیکیشن ساعت معمولاً رابط کاربری قابل توجهی ندارد. این اپلیکیشن در درجه اول پلی بین اپلیکیشن تلفن و رابطهای برنامهنویسی کاربردی Watch Face Push است و قابلیتهای زیر را ارائه میدهد:
- استفاده از Watch Face Push API برای نصب/بهروزرسانی یا جایگزینی واچ فیسها
- درخواست مجوزهای لازم و اطلاعرسانی به کاربر
- ارائه یک واچ فیس پیشفرض
- ارائه حداقل تعداد صفحه ساعت
- ارتباطات تلفن-ساعت : ارتباط تلفن و برنامه ساعت برای موفقیت کلی تجربه بسیار مهم است. از APIهای لایه داده Wear OS استفاده کنید که امکان موارد زیر را فراهم میکنند:
- تشخیص نصب : با استفاده از Capabilities و
CapabilityClient، برنامه تلفن میتواند عدم وجود برنامه ساعت و برعکس را تشخیص دهد . سپس میتوانید یک intent به فروشگاه Play برای نصب فرم فکتور از دست رفته اجرا کنید. - مدیریت وضعیت : با استفاده از
DataClientیاMessageClient، گوشی را با وضعیت ساعت همگام نگه میدارید، برای مثال، وضعیت صفحه ساعت فعال را همگامسازی میکنید. - انتقال APK : با استفاده از
ChannelClientیاMessageClient، فایلهای APK را از تلفن به ساعت ارسال کنید - فراخوانی از راه دور : با استفاده از
Messageclient، تلفن میتواند به ساعت دستور دهد که مثلاً برای نصب یک صفحه ساعت، رابط برنامهنویسی Watch Face Push را فراخوانی کند.
- تشخیص نصب : با استفاده از Capabilities و
برای جزئیات بیشتر به راهنمای API لایه داده مراجعه کنید.