ساعتهای هوشمند برای استفاده در حال حرکت ایدهآل هستند، اما وقتی کاربران دستهایشان پر است، کار با آنها دشوار میشود. برای حل این مشکل، Wear OS 7 یک چارچوب جدید برای حرکات یک دستی برای تولیدکنندگان اصلی تجهیزات (OEM) و یک رابط برنامهنویسی حرکات (Gesture API) برای توسعهدهندگانی که از Jetpack Compose در Wear OS استفاده میکنند، معرفی میکند. اگرچه این چارچوب اساسی منحصراً توسط دستگاههای Pixel Watch (Pixel Watch 3 و جدیدتر) پذیرفته شده است، اما برای همه تولیدکنندگان در دسترس است. با پشتیبانی از این API، پشتیبانی حرکات برنامه شما میتواند به طور خودکار در سراسر اکوسیستم با انتخاب سایر تولیدکنندگان اصلی تجهیزات (OEM) مقیاسپذیر شود.
برای ایجاد تجربههای یکپارچه و بدون لمس، این دستورالعملها را دنبال کنید تا مشخص شود که آیا حرکات یک دستی برای تجربه برنامه شما مناسب هستند یا خیر.
حرکات و اقدامات پشتیبانی شده
چارچوب حرکات Wear OS از دو نوع حرکت پشتیبانی میکند: عمل اصلی و عمل رد کردن . در Pixel Watch، عمل اصلی به حرکت دو بار نیشگون گرفتن و عمل رد کردن به حرکت چرخش مچ دست نگاشت شده است.
اقدام اولیه
اقدام اصلی باید به وظیفه اصلی، مانند پاسخ دادن به یک تماس تلفنی یا فعال یا غیرفعال کردن پخش یا مکث در کنترلهای رسانه، که کاربر میتواند روی صفحه یا صفحه انجام دهد، نگاشت شود. اگر صفحه قابل پیمایش باشد، برنامه شما میتواند فقط یک عنصر رابط کاربری را در یک زمان به اقدام اصلی نگاشت کند.
دو بار فشردن همزمان انگشت زمانی بیشترین کاربرد را دارد که کاربر بتواند با استفاده از حرکات، صدا یا زمانی که عنصر به طور خودکار باز میشود (مانند اعلان یا کنترلهای رسانهای) به آن عنصر رابط کاربری هدایت شود. اگر تنها راه هدایت به عنصر رابط کاربری از طریق لمس یا دکمهها باشد، این عمل مورد استفاده خوبی برای حرکت اولیه نیست.
لغو اقدام
به طور پیشفرض، عمل رد کردن (dismiss) به سیستم برگشت داده میشود و به صفحه قبلی برمیگردد. برنامه شما میتواند چرخش مچ دست را برای موارد استفاده خاص لغو کند، اما این استثنائات همچنان باید با مفهوم رد کردن، ساکت کردن یا به حداقل رساندن همسو باشند. نمونههایی از لغوها شامل بیصدا کردن یک تماس به جای رد کردن آن و بستن اعلانها به جای رد کردن یا حذف آنها است. این عمل هرگز نباید به اقدامات دلخواه در برنامه شما نگاشت شود، مهم نیست که چقدر وسوسهانگیز باشد، زیرا مدل کاربر را که از عمل رد کردن به عنوان یک نشانگر ثابت برای دستور برگشت یا رد کردن استفاده میکند، میشکند.
همچنین میتوان عملکرد رد کردن را برای یک صفحه غیرفعال کرد، زمانی که به دلیل محرکهای تصادفی، مانند صفحه تمرین فعال یا در یک تماس اضطراری، خطری ایجاد میکند. برای غیرفعال کردن چرخش مچ دست برای یک صفحه خاص، در عملکرد رد کردن مشترک شوید اما با رویداد ژست ارسال شده کاری انجام ندهید؛ یعنی یک اشتراک خالی ارائه دهید.
دستورالعملهای سریع حرکات
چارچوب حرکات Wear OS برای مدیریت وقفهها و کنترلها طراحی شده است. این چارچوب برای فعال کردن ناوبری کامل ساعت طراحی نشده است. برای استفاده از حرکات یک دستی در برنامه خود، این دستورالعملها را دنبال کنید:
- پیمایش را به حداقل برسانید: از حرکات برای تعاملات یکباره ، مانند رد کردن یک اعلان یا مکث و از سرگیری پخش رسانه، استفاده کنید.
- از اسکرول به میزان کم استفاده کنید: میتوان از ژست حرکتی اصلی (دو بار فشردن همزمان دو انگشت) برای اسکرول کردن استفاده کرد، اما این نباید به عنوان حالت پیشفرض برای همه محتوای قابل اسکرول باشد. فقط در صورتی که شرایط زیر برقرار باشد، اسکرول کردن با ژست حرکتی را فعال کنید:
- کاربر میتواند با یک دست یا به صورت هندزفری، مانند استفاده از ژست، فرمان صوتی یا روی صفحهای که به طور خودکار راهاندازی میشود، مانند کنترل رسانه و پیمایش نقشه، به نمای اسکرول دسترسی پیدا کند.
- این محتوا، مانند خلاصهای از تمرین، در یک نگاه ارزشآفرینی میکند و به تعامل بیشتری نیاز ندارد، به جز یک دکمه اختیاری که میتواند پس از اسکرول شدن، عملکرد اصلی اشارهای را نیز انجام دهد (مانند دکمه « انجام شد » در لبه).
- از بنبستها اجتناب کنید: مطمئن شوید که اقدامات حرکتی منجر به بنبستهایی نمیشوند که کاربر نتواند بدون استفاده از صفحه لمسی یا دکمه فیزیکی، مسیر خود را ادامه دهد.
- از اقدامات پنهان خودداری کنید: هرگز یک اقدام صرفاً حرکتی را پنهان نکنید. اگر کاربر میتواند عملی را با دوبار فشردن انگشت انجام دهد، باید یک دکمه قابل مشاهده و قابل لمس که همان کار را انجام میدهد، وجود داشته باشد. استثنا در این مورد، اقدامات جهانی مانند چرخاندن مچ دست برای برگشتن است که پیشبینی قصد کاربر در آن دشوار است.
جریان تعامل حرکتی و بازخورد
وقتی یک حرکت در دسترس است و توسط کاربر اجرا میشود، توالی رویدادهای زیر رخ میدهد:
- راهنمای اشاره: وقتی یک حرکت اصلی در دسترس باشد، یک تصویر متحرک از دستی که آن حرکت را انجام میدهد روی صفحه نمایش داده میشود و به کاربر اطلاع میدهد که کدام حرکت در دسترس است و این حرکت روی کدام عنصر رابط کاربری عمل خواهد کرد. معمولاً، راهنماها برای عمل رد کردن ظاهر نمیشوند، مگر اینکه به یک عنصر رابط کاربری روی صفحه نمایش داده شوند.
- بازخورد لمسی: وقتی عمل اشاره با موفقیت انجام شود، یک صدای لمسی کوتاه و واضح پخش میشود.
بازخورد صوتی و تصویری: هرگونه بازخورد صوتی یا تصویری مرتبط با یک عنصر رابط کاربری که با تعامل لمسی رخ میدهد، باید با اقدامات حرکتی نیز فعال شود. شما باید فراخوانیهای صوتی و تصویری لمسی موجود برنامه خود را به رویدادهای حرکتی متصل کنید تا یک تجربه سازگار ارائه دهید.
مثال: دوربین دارای صدای شاتر و دکمهی تعاملی است که باید با حرکات دست فعال شوند.
نکات مربوط به حرکات، آموزش و تنظیمات
برای اینکه بتوان اقدامات حرکتی را کشف کرد، پیکسل واچ یک آموزش تعاملی روی ساعت و یک چارچوب راهنما در رابط برنامهنویسی حرکات (Gesture API) ارائه میدهد. تنظیمات حرکات همچنین در تنظیمات سیستم - در پیکسل واچ، در تنظیمات > حرکات > حرکات دست - ارائه شده است.
آموزش آنبوردینگ
در Pixel Watch، کاربران از طریق یک آموزش تعاملی و Pixel Tips با حرکات دست آشنا میشوند. نیازی به ایجاد یک آموزش حرکات منحصر به فرد در برنامه شما نیست. در عوض، از نکات درون متنی ارائه شده توسط Jetpack Compose در Wear OS برای اطلاع رسانی به کاربران در مورد مکانهای موجود در برنامه خود استفاده کنید.
نکات درون متنی
برای کمک به کاربران در کشف حرکات درون برنامهتان، نکاتی را ارائه دهید که عملکرد حرکات را با قابلیت فیزیکی مرتبط کند. نکات ظریف واضحتر و خواناتر هستند و باعث میشوند حداقل تداخل با سایر عناصر رابط کاربری ایجاد شود.
انواع اشارههای درون متنی عبارتند از:
- اشاره دکمه
- به صورت یک آیکون متحرک در یک عنصر رابط کاربری، مانند یک دکمه، ظاهر میشود و محتوای معمول آن عنصر، مانند برچسب یا آیکون دکمه، را موقتاً پنهان میکند.
- اشاره شناور
- یک آیکون متحرک که درون یک حباب کوچک قرار دارد و به عنصر رابط کاربری که حرکت روی آن تأثیر میگذارد اشاره میکند. معمولاً از اشارههای شناور زمانی استفاده میشود که عنصر رابط کاربری که به آن اشاره میکنند، برای گنجاندن اشاره خیلی کوچک باشد. مثال اصلی پیمایش است، جایی که حباب اشاره به نوار پیمایش اشاره میکند تا نشان دهد که حرکت اصلی پیمایش خواهد شد.
- این اشاره میتواند به هر یک از جهات اصلی (بالا، پایین، چپ، راست) اشاره کند.
اشاره دکمه
به طور موقت با یک آیکون یا متن موجود جابجا میشود.
اشاره شناور
به عنصری روی صفحه اشاره میکند که برای نگهداشتن یک اشارهگر دکمه، خیلی کوچک است.
راهنمایی رنگ:
- اشاره دکمه
- به طور پیشفرض، رنگ بردار متحرک قابل ترسیم (AVD) متناسب با رنگ آیکون دکمه یا متن (
LocalContentColor) تنظیم میشود. - در صورت لزوم میتوان AVD را به رنگ دلخواه درآورد. با این حال، به طور کلی، رنگ باید مشابه محتوایی باشد که به طور موقت جایگزین آن میشود تا کنتراست مناسبی ایجاد شود.
- به طور پیشفرض، رنگ بردار متحرک قابل ترسیم (AVD) متناسب با رنگ آیکون دکمه یا متن (
- اشاره شناور
- رنگ
Tertiaryروی ظرف اشاره اعمال میشود. - رنگ AVD به
onTertiaryتغییر داده شده است. - شما میتوانید هم رنگ اشاره و هم رنگ شکل پسزمینه را سفارشی کنید.
- رنگ
راهنمای رنگ دکمه

رنگ AVD با رنگ آیکون دکمه یا متن مطابقت دارد.
راهنمایی رنگی شناور

کانتینر Hint Tertiary و AVD از onTertiary استفاده میکند.
قوانین مربوط به ریتم:
برای کمک به کاربران در کشف حرکات، این پلتفرم یک فرکانس قابل تنظیم برای تعداد دفعات نمایش یک اشاره برای یک تجربه ارائه میدهد. منطق آهنگ اشاره، سراسری است و نه بر اساس هر تجربه. چارچوب Wear OS Gestures آهنگ را کنترل میکند و تنظیماتی (در Pixel Watch، Gestures > Hand gestures > Gesture hints ) را برای کاربران فراهم میکند تا آهنگ را تنظیم کنند.
- نکات دکمه
- در اولین اجرای یک برنامه با یک عملکرد حرکتی، یا در هنگام بهروزرسانی برنامهای که یک عملکرد حرکتی را معرفی میکند، حداقل یک بار یک راهنما برای آن عملکرد ظاهر میشود. این راهنما فقط بر اساس ریتم تعریفشده توسط کاربر (مانند همیشه ، روزانه و ماهانه ) دوباره نمایش داده میشود. راهنماها بهطور پیشفرض روی همیشه تنظیم شدهاند.
- نکات شناور
- از آنجا که آنها محتوای مجاور را میپوشانند، نکات شناور حداکثر یک بار در روز به ازای هر تجربه ظاهر میشوند. اگر آهنگ کلی نکات روی مقداری تنظیم شود که کمتر از یک بار در روز ( روزانه ) باشد، سیستم از آن آهنگ کمتر استفاده میکند.

منابع اضافی
برای راهنمایی توسعهدهندگان در مورد نحوه پیادهسازی حرکات یک دستی در برنامه خود، به بخش « ساخت برنامههای مچی با Wear OS» مراجعه کنید.