اخبار محصول

ویژگی‌های جدید Wear OS 7

۹ دقیقه مطالعه
John Zoeller
مهندس روابط توسعه‌دهنده، Wear OS

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

ما می‌دانیم که ساعت‌ها همراهان ضروری و همیشگی کاربران شما هستند. به همین دلیل است که ما همچنان در بهینه‌سازی مصرف باتری سرمایه‌گذاری می‌کنیم تا کاربران شما بتوانند با برنامه‌های مورد علاقه خود کارهای بیشتری انجام دهند. برای ساعت‌هایی که از Wear OS 6 به Wear OS 7 ارتقا می‌یابند، کاربران عادی می‌توانند تا 10٪ بهبود در عمر باتری را انتظار داشته باشند.

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

با Wear OS 7، ما قابلیت‌های جدید سیستم و ابزارهای توسعه‌دهنده بهبود یافته را معرفی می‌کنیم. ویژگی‌های جدید کاربری مانند به‌روزرسانی‌های زنده و کنترل‌های رسانه‌ای بهبود یافته، تجربه‌ای هوشمندانه‌تر و شهودی‌تر را روی مچ دست ارائه می‌دهند. و با پیشرفت‌هایی در جعبه ابزار توسعه‌دهندگان ما مانند Wear Compose 1.6 و AppFunctions، توسعه‌دهندگان قادر خواهند بود تجربیات برنامه‌های خود را برای مچ دست ساده‌تر کنند.

بیایید مستقیماً شروع کنیم!

سیستم عامل ۷ Canary را بپوشید

اکنون می‌توانید نسخه بعدی پلتفرم ساعت هوشمند گوگل، Wear OS 7 Canary Emulator ، مبتنی بر اندروید ۱۷ که قرار است اواخر امسال از راه برسد را امتحان کنید.

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

ببینید چه چیزهایی تغییر کرده و همین امروز شروع به آزمایش برنامه‌تان کنید.

ویژگی‌های جدید Wear OS را بررسی کنید

ابزارک‌های Wear OS

ابزارک‌ها (1).png

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

امروز، ما مفتخریم که گام بعدی در تکامل Tiles را معرفی کنیم: Wear Widgetهای انعطاف‌پذیر و پویا.

با پشتیبانی از Jetpack Glance و چارچوب جدید RemoteCompose ، Wear Widgets در مقایسه با کتابخانه‌های Tiles ProtoLayout، بیان و سازگاری بیشتری با Compose ارائه می‌دهد. Wear Widgets از دو طرح‌بندی کارت جدید - کوچک و بزرگ - پشتیبانی می‌کند که کاملاً با فرمت‌های 2x1 و 2x2 در موبایل هماهنگ هستند و تضمین می‌کنند که طرح‌های شما در بین دستگاه‌ها منسجم به نظر برسند، در عین حال که به شما امکان می‌دهند طرح‌های خود را برای مچ دست بهینه کنید .

تطبیق رابط کاربری از اسلات اصلی کاشی تمام صفحه به یک ویجت ۲x۲ آسان است. نگاهی بیندازید!

کد ابزارک‌ها (1).png

برای جزئیات کامل در مورد ویژگی‌های جدید، به گفتگوی ورودی/خروجی ویجت‌ها در اواخر این هفته مراجعه کنید و راهنمای شروع به کار با ویجت‌ها را برای افزودن یک ویجت به تجربه Wear OS خود امتحان کنید.

به‌روزرسانی‌های زنده

پست وبلاگ (1).png به‌روزرسانی‌های زنده

Wear OS 7 به‌روزرسانی‌های زنده را برای ساعت‌ها به ارمغان می‌آورد!

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

در برنامه ساعت خود، به جای API فعالیت‌های جاری، از به‌روزرسانی‌های زنده (Live Updates) استفاده کنید تا انتشار به‌روزرسانی‌های محلی در همه دستگاه‌های Wear 7 فراهم شود. برای پشتیبانی از تولیدکنندگان اصلی تجهیزات (OEM)، به‌روزرسانی‌های زنده منتشر شده توسط برنامه تلفن شما به ساعت‌های کاربران نیز متصل می‌شود.

ببینید چطور Just Eat به‌روزرسانی‌ها را برای کاربرانش در بالا ارائه می‌دهد!

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

اپلیکیشن خود را به سیستم اطلاعاتی متصل کنید

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

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

توابع برنامه

Watch_IO26_Samsung_App_Functions (1).gif

API مربوط به AppFunctions به توسعه‌دهندگان اجازه می‌دهد تا برنامه‌های خود را با دستیارها و عامل‌ها، مانند Google Gemini، ادغام کنند و به کاربران این امکان را می‌دهند که وظایف خود را با استفاده از صدا انجام دهند و اغلب نیاز به پیمایش گام به گام و دستی را با رابط کاربری خود جایگزین کنند.

برای مثال، برای شروع دویدن با برنامه Samsung Health، کاربران می‌توانند به Gemini بگویند: «شروع به ردیابی دویدن من کن».

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

اتوماسیون وظایف

Watch_IO26_RemoteBonobo_Doordash_onBG_a22_GIF (1).gif

همچنین به زودی، بدون هیچ گونه تلاش توسعه‌ای، کاربران قادر خواهند بود وظایف خودکار برنامه را برای برنامه‌های تلفن منتخب، مستقیماً از ساعت خود فراخوانی و پیگیری کنند، مانند ثبت سفارش با DoorDash!

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

ردیاب ورزشی بپوشید

Watch_IO26_SystemFitnessTracker_onBG_a05 (1).gif

ما می‌دانیم که ساخت یک تجربه ردیابی تناسب اندام با امکانات کامل و کیفیت بالا در Wear OS از ابتدا، به منابع زیادی نیاز دارد، بنابراین ما تجربه کاملاً جدید Wear Workout Tracker را برای برنامه‌های ورزشی ساختیم. این برنامه در اواخر سال در Wear OS گنجانده خواهد شد.

این ردیاب تمرین، یک تجربه ردیابی تمرین استاندارد و غنی را ارائه می‌دهد که شامل نظارت بر ضربان قلب، کنترل رسانه و مجموعه‌ای از ویژگی‌های مفید دیگر می‌شود تا به شما در کاهش سرمایه‌گذاری توسعه کمک کند و در عین حال یک تجربه با کیفیت بالا را برای کاربران شما تضمین کند.

ما از نزدیک با ASICS Runkeeper همکاری کرده‌ایم تا آن را در اختیار کاربرانشان قرار دهیم، آن را امتحان کنید!

کنترل‌های پیشرفته‌ی سیستم رسانه در Wear OS 7

Wear OS 7 کنترل‌های سیستم رسانه را بهبود می‌بخشد و به کاربران کنترل بیشتر و تجربه‌ای روان برای رسانه‌هایشان می‌دهد.

کنترل‌های اجرای خودکار رسانه برای هر برنامه

Watch_IO26_AutoLaunch_Media_onBG_a05 (1).gif

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

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

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

مسیریابی صوتی یکپارچه با سوئیچر خروجی از راه دور

سوئیچ خروجی از راه دور (1).png

مدیریت خروجی صدا اکنون با استفاده از Remote Output Switcher جدید که در System Media Controls ادغام شده است، آسان‌تر از همیشه شده است.

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

به‌روزرسانی‌های کتابخانه رابط کاربری

برای همراهی با همه این ویژگی‌های جدید برای کاربران، ما در حال معرفی برخی پیشرفت‌های قدرتمند در مجموعه ابزارهای توسعه‌دهندگان خود هستیم تا به توسعه‌دهندگان کمک کنیم برای آینده Wear OS آماده شوند!

نوشتن برای Wear OS 1.6

به عنوان پایه و اساس توسعه Wear OS، نسخه ۱.۶ نرم‌افزار Compose for Wear OS از راه رسیده است.

شامل به‌روزرسانی‌های قدرتمندی از جمله:

ناوبری ساده با Navigation 3

توسعه‌دهندگان می‌توانند با Navigation 3 ادغام شوند تا روشی انعطاف‌پذیرتر و به اصطلاح Compose برای مدیریت ناوبری در Wear OS ارائه دهند.

@Composable
fun WearApp() {
    val backStack = rememberNavBackStack(MenuScreen)

    WearAppTheme {
        AppScaffold {
            val entryProvider = remember {
                entryProvider<NavKey> {
                    entry<MenuScreen> { GreetingScreen() }
                    entry<ListNavScreen> { ListScreen() }
                }
            }

            val swipeDismissableSceneStrategy = 
                rememberSwipeDismissableSceneStrategy<NavKey>()

            NavDisplay(
                backStack = backStack,
                entryProvider = entryProvider,
                sceneStrategies = listOf(swipeDismissableSceneStrategy)
            )
        }
    }
}

بهبودهای مدیریت لیست برای TransformingLazyColumn

بهبودهای قابل توجهی در مدیریت پیشرفته لیست با TransformingLazyColumn ایجاد شده است، از جمله پشتیبانی پیشرفته از padding از طریق اصلاح‌کننده جدید minimumVerticalContentPadding و سایر ویژگی‌های جدید مانند snapping و طرح‌بندی معکوس.

val listState = rememberTransformingLazyColumnState()
val transformationSpec = rememberTransformationSpec()

/*
 * TransformingLazyColumn takes care of the horizontal and vertical
 * padding for the list and handles scrolling.
 */
ScreenScaffold(scrollState = listState) { contentPadding ->
    TransformingLazyColumn(
        state = listState,
        contentPadding = contentPadding
    ) {
        item {
            ListHeader(
                modifier = Modifier
                    .fillMaxWidth()
                    .transformedHeight(this, transformationSpec)
                    .minimumVerticalContentPadding(
                        ListHeaderDefaults.minimumTopListContentPadding
                    ),
                    transformation = SurfaceTransformation(transformationSpec)
            ) { Text(text = "Header") }
        }
    }
}

بهینه‌سازی تجربیات محیطی با LocalAmbientModeManager

LocalAmbientModeManager کاملاً جدید برای مدیریت جریان‌های محیطی بهینه شده است و به توسعه‌دهندگان کنترل بیشتری بر نحوه ارائه تجربیات محیطی خود به کاربران می‌دهد.

 
override fun onCreate(savedInstanceState: Bundle?) {
    setContent {
        val ambientModeManager = rememberAmbientModeManager()
        CompositionLocalProvider(LocalAmbientModeManager provides ambientModeManager) {
            val localAmbientModeManager = LocalAmbientModeManager.current
            val ambientMode = localAmbientModeManager?.currentAmbientMode

            Column(
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally,
                modifier = Modifier.fillMaxSize(),
            ) {
                val ambientModeName =
                    when (ambientMode) {
                        is AmbientMode.Interactive -> "Interactive"
                        is AmbientMode.Ambient -> "Ambient"
                        else -> "Unknown"
                    }

                val color = if (ambientMode is AmbientMode.Ambient) Color.Gray
                    else Color.Yellow
                Text(text = "$ambientModeName Mode", color = color)
            }
        }
    }
}

به‌روزرسانی‌های طرح‌بندی اولیه و کاشی‌ها

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

Protolayout 1.4 و Tiles 1.6 با همکاری یکدیگر چندین ویژگی جدید قابل توجه از جمله موارد زیر را ارائه می‌دهند:

  • منابع تصویر درون‌خطی‌شده: ImageResource اکنون می‌تواند مستقیماً در یک طرح‌بندی درون‌خطی شود و Tiles اکنون از جمع‌آوری خودکار منابع از طریق ProtoLayoutScope پشتیبانی می‌کند و نیاز به نگاشت دستی منابع و تقسیم آنها به متدهای جداگانه را از بین می‌برد. علاوه بر کیفیت بهتر کد، این امر تأخیر بارگذاری Tiles را از طریق تجمیع در یک فراخوانی binder واحد از سیستم به سرویس ارائه‌دهنده بهبود می‌بخشد.
  • Material3TileService : کاشی‌ها می‌توانند به عنوان یک Material3TileService پیاده‌سازی شوند - یک تابع تعلیق همه‌جانبه که هم طرح کاشی و هم منابع را برمی‌گرداند، در حالی که به طور خودکار MaterialScope و ProtoLayoutScope را برای ساده‌سازی تجربه توسعه مدیریت می‌کند.
  • سوئیچینگ پویای سرویس: در Wear 7، اکنون می‌توان چندین نمونه TileService را در مانیفست گروه‌بندی کرد تا سوئیچینگ پویا بین سرویس‌های مختلفی که نشان‌دهنده یک کاشی مشابه هستند، امکان‌پذیر شود.

نمونه جدید کاشی‌ها را اینجا ببینید.

فدراسیون جهانی فوتبال ۵

قالب واچ فیس نسخه ۵ (WFF5) اکنون با مجموعه‌ای از ویژگی‌های جدید در دسترس است تا ساخت واچ فیس‌ها را آسان‌تر کند، از جمله:

  • گزینه‌های ترازبندی بهبود یافته: عناصر متنی مانند TextCircular اکنون گزینه‌های ترازبندی اضافی، از جمله verticalAlign روی یک خط پایه برای چندین عنصر متنی، خواهند داشت.
  • بهبودهای اندازه خودکار: اکنون می‌توان از isAutoSize در TextCircular استفاده کرد و یک ویژگی جدید، minSize، به عنصر Font اضافه شده است تا حداقل اندازه را هنگام فعال بودن اندازه خودکار محدود کند.
  • حالت‌های ترکیبی: عناصر Group و ComplicationSlot اکنون علاوه بر پشتیبانی موجود در عناصر Part*، از حالت ترکیبی نیز پشتیبانی می‌کنند.
  • پیوندهای Stroke: عناصر Stroke و WeightedStroke اکنون شامل یک ویژگی join هستند.
  • تنظیمات سلسله مراتبی: سبک‌های کاربری اکنون می‌توانند به صورت سلسله مراتبی ساختاردهی شوند، به طوری که برخی از تنظیمات فقط زمانی قابل مشاهده هستند که سایر تنظیمات مقادیر خاصی داشته باشند. سبک‌های کاربری اکنون می‌توانند اسلات‌های پیچیدگی را نیز فعال یا غیرفعال کنند. این موارد را می‌توان با استفاده از childSettingIds و ComplexSlotIds در گزینه‌های سبک کاربری پیکربندی کرد.

برای کسب اطلاعات بیشتر در مورد WFF 5، به راهنمای جدید توسعه‌دهندگان ما مراجعه کنید.

همین حالا شروع به ساخت سیستم عامل Wear OS 7 کنید

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

ما مشتاقانه منتظر دیدن تجربیاتی هستیم که شما بر روی Wear OS ایجاد می‌کنید!

نوشته شده توسط:

ادامه مطلب