اصول توسعه Wear OS

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

برای بهینه‌سازی زمان توسعه، قبل از شروع ساخت برنامه Wear OS خود، اصول زیر را مرور کنید.

طراحی برای وظایف حیاتی

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

رابط‌های برنامه‌های سیستم عامل Wear OS که وظایف متمرکز را نشان می‌دهند.
شکل ۱: نمونه‌هایی از برنامه‌های Wear OS.

بهینه سازی برای مچ دست

به افراد کمک کنید تا وظایف خود را با ساعت در عرض چند ثانیه انجام دهند تا از ناراحتی ارگونومیک یا خستگی بازو جلوگیری شود.

برای کسب اطلاعات بیشتر در مورد بهینه‌سازی برای مچ دست، دستورالعمل‌های طراحی Wear OS را مرور کنید.

یک برنامه نقشه و یک برنامه تایمر که روی Wear OS اجرا می‌شود.
شکل ۲: اپلیکیشن Wear OS برای تعامل سریع بهینه شده است.

به حریم خصوصی کاربر احترام بگذارید

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

داشبورد حریم خصوصی

از Wear OS 5 به بعد، این سیستم از داشبورد حریم خصوصی پشتیبانی می‌کند. این داشبورد به کاربران یک نمای متمرکز از میزان مصرف داده هر برنامه، شامل جزئیات زیر، ارائه می‌دهد:

  • انواع داده‌هایی که مورد دسترسی قرار می‌گیرند - برای مثال، مکان و میکروفون.
  • اینکه این نوع داده‌ها چقدر اخیراً مورد دسترسی قرار گرفته‌اند.

با دسترسی به این اطلاعات، کاربران می‌توانند تصمیمات آگاهانه‌تری در مورد اینکه کدام برنامه‌ها همچنان باید به داده‌های شخصی آنها دسترسی داشته باشند، بگیرند. برای حفظ اعتماد کاربر، از داده‌ها مسئولانه استفاده کنید و هنگام جمع‌آوری و استفاده از داده‌های کاربر شفاف باشید.

تشخیص اسکرین شات

در دستگاه‌هایی که Wear OS 5 یا بالاتر را اجرا می‌کنند، برنامه‌ها می‌توانند از یک API تشخیص اسکرین‌شات با حفظ حریم خصوصی استفاده کنند.

از سطح مناسب برای کار استفاده کنید

سیستم‌عامل Wear OS نسبت به موبایل، سطوح بیشتری برای جذب کاربران دارد. برنامه‌ها باید محتوای خود را برای این سطوح تنظیم کنند.

هر سطحی کاربرد خاص خود را دارد. اگر نیاز به اقدام بیشتری است، کاربران را به سمت یک تجربه کامل‌تر از برنامه هدایت کنید.

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

صفحه ساعت Wear OS که وضعیت آب و هوا را نشان می‌دهد.صفحه ساعت Wear OS که اعلان آب و هوا را نشان می‌دهد.صفحه ساعت Wear OS که یک کاشی آب و هوا را نشان می‌دهد.صفحه ساعت Wear OS که یک برنامه کامل آب و هوا را نشان می‌دهد.
عارضه

پ1: الان هوا چطوره؟

اعلان

P1 در مورد هشدار آب و هوای نامساعد به من اطلاع دهید

کاشی

پ1: الان هوا چطوره؟

پ2: امروز هوا چطوره؟

برنامه

پ1: الان هوا چطوره؟

پ2: امروز هوا چطوره؟

پ3: تفکیک ساعتی چقدر است؟

P3: تنظیمات برگزیده

برای کسب اطلاعات بیشتر، راهنمای رابط کاربری را مطالعه کنید.

افزودن اعلان‌ها به سطوح اضافی

در رابط برنامه‌نویسی Wear OS سطح ۳۰ و بالاتر، هر اعلان مداومی را با یک OngoingActivity جفت کنید تا آن اعلان به سطوح اضافی در رابط کاربری Wear OS اضافه شود. این کار باعث افزایش تعامل با فعالیت‌های طولانی‌مدت می‌شود.

پشتیبانی از سناریوهای آفلاین

اگرچه یک دستگاه Wear OS معمولاً از بلوتوث و وای‌فای پشتیبانی می‌کند، اما ممکن است از LTE پشتیبانی نکند. برای اتصالات نامنظم و موارد استفاده آفلاین، مانند ورزش و رفت و آمد، زمانی که کاربر ممکن است دستگاه تلفن همراه خود را در خانه بگذارد، طراحی کنید.

برنامه‌های موسیقی و ورزشی Wear OS که به صورت آفلاین کار می‌کنند.
شکل ۳: نمونه‌هایی از استفاده آفلاین از برنامه‌های Wear OS.

ارائه محتوای مرتبط

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

برنامه‌های تقویم و آب و هوای سیستم عامل Wear OS را با محتوای جدید داشته باشید.
شکل ۴: برنامه‌های Wear OS با محتوای جدید

به کاربران کمک کنید تا یک کار را از دستگاه دیگری انجام دهند

مردم به طور فزاینده‌ای چندین دستگاه دارند. ساعت می‌تواند به کاربران کمک کند تا یک کار را در یک اکوسیستم توزیع‌شده از دستگاه‌ها انجام دهند. موارد استفاده‌ای را که این برای برنامه شما منطقی است، بررسی کنید.

بهبود تجربه کاربری در هنگام شروع سرد برنامه

برای بهبود تجربه کاربری در هنگام شروع سرد برنامه، یک فعالیت splash با یک تم جداگانه ایجاد کنید. سپس، windowBackground آن را در فایل manifest روی splashable سفارشی خود تنظیم کنید. صفحه splash شامل یک لیست لایه با دو عنصر است: رنگ پس‌زمینه و drawable سفارشی، که معمولاً آیکون برنامه شماست. از یک drawable با ابعاد ۴۸x۴۸ dp استفاده کنید.

برای اطلاعات بیشتر، به افزودن صفحه شروع مراجعه کنید.

ملاحظات مربوط به برنامه‌های رسانه‌ای

فعال کردن کنترل‌های پخش موسیقی از طریق گوشی

اگر برنامه شما هم روی گوشی و هم روی ساعت نصب شده باشد، کاربران انتظار دارند که ساعتشان کنترل از راه دور داشته باشد. برای مثال، کاربران انتظار دارند که بتوانند آهنگ‌ها را از ساعتشان متوقف، پخش یا رد کنند.

محتوای دانلود شده

همانطور که قبلاً اشاره شد، پشتیبانی از سناریوهای آفلاین بسیار مهم است. این امر به ویژه برای برنامه‌های رسانه‌ای اهمیت دارد. برای برنامه‌های رسانه‌ای، آسان‌تر است که ابتدا از دانلودهای آفلاین پشتیبانی کنید و سپس در صورت نیاز، قابلیت پخش آنلاین را اضافه کنید.

هنگام طراحی، برای کاربر مشخص کنید که چه محتوایی به صورت آفلاین در دسترس است. برای هرگونه کار فوری یا دوره‌ای طولانی، از WorkManager استفاده کنید. دانلودها را تا زمانی که ساعت شارژ شود و به Wi-Fi متصل شود، به تعویق بیندازید.

پخش جریانی روی LTE

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

پشتیبانی از هدفون‌های بلوتوث

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

منبع موسیقی را مشخص کنید

به طور واضح مشخص کنید که صدا از ساعت می‌آید یا تلفن. از یک نماد منبع برای نشان دادن محل پخش موسیقی استفاده کنید. منبع پیش‌فرض را روی جایی که کاربر موسیقی را شروع می‌کند تنظیم کنید.

از بلندگو استفاده کنید

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

ملاحظات مربوط به اپلیکیشن‌های تناسب اندام

هنگام ایجاد برنامه‌های تناسب اندام برای اندروید ۱۰ (سطح API ۲۹) و بالاتر، مجوز تشخیص فعالیت بدنی را درخواست کنید.

مکمل اپلیکیشن موبایل

همانطور که قبلاً اشاره شد، یک برنامه تناسب اندام Wear OS باید فقط وظایف حیاتی مچ دست را انجام دهد. این بدان معناست که یک برنامه تناسب اندام Wear OS بیشتر بر جمع‌آوری داده‌ها تمرکز دارد.

در حالی که می‌توانید چند صفحه خلاصه پس از تمرین را در برنامه بگنجانید، تجزیه و تحلیل دقیق پس از تمرین و هر ویژگی دیگری که به فضای صفحه نمایش بیشتری نیاز دارد را به برنامه تلفن همراه واگذار کنید.

از فعالیت‌های بلندمدت حمایت کنید

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

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

در Wear OS، می‌توانید اعلان‌های مداوم خود را با استفاده از API فعالیت مداوم و با استفاده از حداقل کد، در سطوح جدید نمایش دهید.

برای مشاهده‌ی یک اپلیکیشن ساده‌شده با این معماری، آزمایشگاه کد Ongoing Activity را در گیت‌هاب بررسی کنید.

از حالت همیشه روشن به میزان کم استفاده کنید

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

اگر کاربر در مدت زمان مشخصی دوباره با دستگاه تعامل داشته باشد، Wear OS آن برنامه را به حالت فعال برمی‌گرداند.

در بیشتر موارد استفاده، این برای کاربران کافی است تا تجربه خوبی داشته باشند و عمر باتری را ذخیره کنند.

در برخی موارد، ممکن است نیاز داشته باشید که برنامه شما برای مدت طولانی‌تری قابل مشاهده باشد، مثلاً در طول کل تمرین. برای این موارد، از AmbientLifecycleObserver استفاده کنید. برای اطلاعات بیشتر، به Keep your app visible on Wear مراجعه کنید.

قفل بیدارباش را نگه ندارید

از APIهایی مانند Health Services برای دریافت داده‌های حسگر استفاده کنید و در عین حال به CPU اجازه دهید بین خواندن یا تحویل، در حالت خواب باشد.

بهینه‌سازی مکان و مدیریت حسگرها

مدیریت حسگر مهم است و اگر به درستی انجام نشود، می‌تواند تأثیر منفی بر عمر باتری داشته باشد.

هنگام اجرای استراتژی حسگر خود، این توصیه‌ها را دنبال کنید:

  • در صورت امکان، همیشه از حسگرها در حالت دسته‌ای استفاده کنید.
  • وقتی صفحه یا برنامه دوباره فعال می‌شود، حسگرها را پاک کنید.
  • برای صرفه‌جویی در مصرف برق، مدت زمان دسته‌بندی را هنگام خاموش شدن صفحه تغییر دهید.
  • وقتی دیگر نیازی به شنونده‌های حسگر نیست، آنها را از حالت ثبت خارج کنید.
  • برای حسگرهای مکان، از بهترین شیوه‌های موجود در بخش «تشخیص مکان در Wear OS» پیروی کنید.

برای ساده‌سازی مدیریت حسگر و بهینه‌سازی مصرف برق، استفاده از Health Services را در نظر بگیرید.

برای تأیید اقدامات از لمس استفاده کنید

از بازخورد لمسی برای تأیید اقدامات، مانند شروع، توقف، مکث خودکار یا دور خودکار، استفاده کنید.

استفاده از قفل لمسی

در برخی موارد، غیرفعال کردن قابلیت لمس، تجربه برنامه را بهبود می‌بخشد. برای مثال، غیرفعال کردن قابلیت لمس هنگام ردیابی یک تمرین ورزشی منطقی است، زیرا در این حالت احتمال لمس تصادفی وجود دارد.

ملاحظات مربوط به برنامه‌های پیام‌رسان

با اعلان‌ها شروع کنید

پشتیبانی از MessagingStyle برای بهبود تجربه کاربری برنامه.

پشتیبانی از ورودی صوتی

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