प्रॉडक्ट से जुड़ी खबरें

Wear OS 7 में नया क्या है

नौ मिनट में पढ़ें
John Zoeller
डेवलपर रिलेशंस इंजीनियर, Wear OS

आज हमें यह बताते हुए खुशी हो रही है कि हमने Wear OS 7 लॉन्च किया है. यह एक अहम अपडेट है, जो उपयोगकर्ताओं और डेवलपर, दोनों के लिए पावर की बचत और बेहतर सुविधाओं का नया दौर लेकर आया है.

हमें पता है कि स्मार्टवॉच, आपके उपयोगकर्ताओं के लिए पूरे दिन साथ रहने वाला एक ज़रूरी डिवाइस है. इसलिए, हम पावर ऑप्टिमाइज़ेशन में लगातार निवेश कर रहे हैं, ताकि आपके उपयोगकर्ता अपने पसंदीदा ऐप्लिकेशन का ज़्यादा से ज़्यादा फ़ायदा ले सकें. Wear OS 6 से Wear OS 7 पर अपग्रेड करने वाली स्मार्टवॉच की बैटरी लाइफ़ में, औसत उपयोगकर्ताओं को 10% तक का सुधार दिख सकता है.

साथ ही, Android प्लैटफ़ॉर्म पर रोल आउट किए जा रहे अपडेट के तहत, इस साल के आखिर में लॉन्च होने वाली कुछ स्मार्टवॉच में Gemini Intelligence की सुविधा मिलेगी. इससे उपयोगकर्ताओं को सक्रिय और मनमुताबिक़ सहायता मिलेगी, ताकि वे अपने ज़रूरी कामों पर ध्यान दे सकें. 

Wear OS 7 में, हम सिस्टम की नई सुविधाएं और डेवलपर के लिए बेहतर टूल लॉन्च कर रहे हैं. लाइव अपडेट जैसी नई सुविधाएं और बेहतर मीडिया कंट्रोल, स्मार्टवॉच पर ज़्यादा स्मार्ट और इंट्यूटिव अनुभव देते हैं. साथ ही, Wear Compose 1.6 और AppFunctions जैसे डेवलपर टूलकिट में किए गए सुधारों की मदद से, डेवलपर स्मार्टवॉच के लिए अपने ऐप्लिकेशन के अनुभव को बेहतर बना पाएंगे.  

तो चलिए, इन सुविधाओं के बारे में जानते हैं!

Wear OS 7 Canary

अब Google के स्मार्टवॉच प्लैटफ़ॉर्म का अगला वर्शन, Wear OS 7 Canary Emulator आज़माया जा सकता है. यह Android 17 पर आधारित है और इस साल के आखिर में लॉन्च होगा.  

नए एम्युलेटर की मदद से, ऊपर बताई गई डेवलपर सुविधाओं और टूल को आज़माया जा सकता है. साथ ही, यह भी देखा जा सकता है कि आपका ऐप्लिकेशन, आने वाले प्लैटफ़ॉर्म के साथ काम करता है या नहीं.  

_क्या बदला है_ देखें और आज ही अपने ऐप्लिकेशन की जांच शुरू करें.

Wear OS की नई सुविधाओं के बारे में जानें

Wear OS के विजेट

Widgets (1).png

Wear OS पर, फ़ुल-स्क्रीन टाइलें एक अहम सुविधा रही हैं. इनकी मदद से, उपयोगकर्ताओं को अपने ज़रूरी अपडेट तुरंत और आसानी से मिलते हैं. Android प्लैटफ़ॉर्म, विजेट के लिए एक ही विज़न की ओर बढ़ रहा है. इसलिए, हम स्मार्टवॉच को Android के अन्य डिवाइसों के साथ जोड़ रहे हैं, ताकि डेवलपर को कम मेहनत करनी पड़े.

आज हमें टाइल की सुविधा के अगले चरण के बारे में बताते हुए खुशी हो रही है. यह सुविधा, फ़्लेक्सिबल और डाइनैमिक Wear विजेट के तौर पर उपलब्ध होगी.

Jetpack Glance और नए RemoteCompose फ़्रेमवर्क की मदद से, Wear विजेट, टाइल ProtoLayout लाइब्रेरी की तुलना में ज़्यादा एक्सप्रेसिव और Compose के साथ ज़्यादा सुसंगत हैं. Wear विजेट, कार्ड के दो नए लेआउट के साथ काम करते हैं—छोटा और बड़ा. ये लेआउट, मोबाइल पर 2x1 और 2x2 फ़ॉर्मैट के साथ पूरी तरह से काम करते हैं. इससे यह पक्का होता है कि आपके डिज़ाइन, सभी डिवाइसों पर एक जैसे दिखें. साथ ही, आपके पास स्मार्टवॉच के लिए अपने डिज़ाइन ऑप्टिमाइज़ करने का विकल्प भी होता है.

अपनी फ़ुल-स्क्रीन टाइल के mainSlot से यूज़र इंटरफ़ेस (यूआई) को 2x2 विजेट में आसानी से अडैप्ट किया जा सकता है. यहां देखें!

widgets code (1).png

नई सुविधाओं के बारे में पूरी जानकारी पाने के लिए, इस हफ़्ते के आखिर में विजेट के बारे में I/O टॉक देखें. साथ ही, Wear OS के अनुभव में विजेट जोड़ने के लिए, विजेट के लिए हमारी शुरुआती गाइड आज़माएं.

लाइव अपडेट

Live Updates Blog post (1).png

Wear OS 7 में, स्मार्टवॉच के लिए लाइव अपडेट की सुविधा लॉन्च की गई है!

लाइव अपडेट की मदद से, अपनी स्मार्टवॉच या मोबाइल ऐप्लिकेशन से रीयल-टाइम और अहम जानकारी दिखाई जा सकती है. इससे आपके उपयोगकर्ताओं को एक नज़र में समय पर अपडेट मिलते हैं.

स्मार्टवॉच ऐप्लिकेशन में, Wear 7 वाले सभी डिवाइसों पर स्थानीय अपडेट पब्लिश करने के लिए, Ongoing Activities API के बजाय लाइव अपडेट का इस्तेमाल करें. ओईएम के लिए, आपके फ़ोन ऐप्लिकेशन से पब्लिश किए गए लाइव अपडेट, उपयोगकर्ताओं की स्मार्टवॉच पर भी दिखेंगे.

यहां देखें कि Just Eat, अपने उपयोगकर्ताओं को अपडेट कैसे देता है!

ज़्यादा जानकारी के लिए, Wear OS पर सूचनाएं लेख देखें.

अपने ऐप्लिकेशन को इंटेलिजेंस सिस्टम से कनेक्ट करना

हम डेवलपर के लिए, स्मार्टवॉच पर एजेंटिक अनुभव देने के कई तरीकों पर काम कर रहे हैं. इनमें AppFunctions से लेकर टास्क ऑटोमेशन टूल तक शामिल हैं.

जब ये सुविधाएं उपलब्ध हो जाएंगी, तब हम इनकी जानकारी अपने डेवलपर ब्लॉग पर देंगे. साथ ही, हम एक पूरी डेवलपर गाइड भी उपलब्ध कराएंगे, ताकि आपको सही सुविधा चुनने और उसे लागू करने में मदद मिल सके. फ़िलहाल, यहां एक झलक दी गई है.

AppFunctions

Watch_IO26_Samsung_App_Functions (1).gif

AppFunctions API की मदद से, डेवलपर अपने ऐप्लिकेशन को Google Gemini जैसे एजेंट और असिस्टेंट के साथ इंटिग्रेट कर सकते हैं. इससे उपयोगकर्ता, आवाज़ का इस्तेमाल करके टास्क पूरे कर पाएंगे. साथ ही, उन्हें यूज़र इंटरफ़ेस (यूआई) की मदद से, मैन्युअल तरीके से एक-एक करके नेविगेट करने की ज़रूरत नहीं होगी.  

उदाहरण के लिए, Samsung Health ऐप्लिकेशन से रनिंग ट्रैक करने के लिए, उपयोगकर्ता Gemini को यह निर्देश दे सकते हैं: “मेरी रनिंग ट्रैक करना शुरू करो.”

फ़िलहाल, हम दिलचस्पी दिखाने वाले सभी डेवलपर के लिए, रिलीज़ होने से पहले ऐप्लिकेशन को इस्तेमाल करने की सुविधा देने वाला प्रोग्राम चला रहे हैं. इस प्रोग्राम में शामिल होने के लिए, हमारे फ़ॉर्म में साइन अप करें.

टास्क ऑटोमेशन

Watch_IO26_RemoteBonobo_Doordash_onBG_a22_GIF (1).gif

जल्द ही, उपयोगकर्ताओं को कुछ फ़ोन ऐप्लिकेशन के लिए, ऑटोमेटेड ऐप्लिकेशन टास्क को सीधे अपनी स्मार्टवॉच से शुरू और ट्रैक करने की सुविधा मिलेगी. इसके लिए, डेवलपर को कोई मेहनत नहीं करनी होगी. जैसे, DoorDash से ऑर्डर करना!

अपने ऐप्लिकेशन को Android इंटेलिजेंस सिस्टम से कनेक्ट करने और उसे तैयार करने के फ़्लेक्सिबल विकल्पों के बारे में जानने के लिए, हमारे डेवलपर ब्लॉग पर नज़र रखें.

Wear OS के लिए वर्कआउट ट्रैकर

Watch_IO26_SystemFitnessTracker_onBG_a05 (1).gif

हमें पता है कि Wear OS पर, फ़िटनेस ट्रैकिंग का पूरी सुविधाओं वाला और अच्छी क्वालिटी वाला अनुभव देने के लिए, डेवलपर को काफ़ी मेहनत करनी पड़ती है. इसलिए, हमने एक्सरसाइज़ ऐप्लिकेशन के लिए, नया Wear OS वर्कआउट ट्रैकर अनुभव बनाया है. यह सुविधा, इस साल के आखिर में Wear OS में शामिल की जाएगी. 

वर्कआउट ट्रैकर, वर्कआउट को ट्रैक करने का एक स्टैंडर्ड अनुभव देता है. इसमें हार्ट रेट मॉनिटरिंग, मीडिया कंट्रोल, और अन्य काम की सुविधाएं शामिल हैं. इससे आपको डेवलपमेंट में कम निवेश करने में मदद मिलेगी. साथ ही, आपके उपयोगकर्ताओं को अच्छी क्वालिटी का अनुभव मिलेगा.

हम ASICS Runkeeper के साथ मिलकर काम कर रहे हैं, ताकि यह सुविधा उनके उपयोगकर्ताओं के लिए उपलब्ध कराई जा सके. इसे आज़माएं!

Wear OS 7 में, सिस्टम के बेहतर मीडिया कंट्रोल

Wear OS 7 में, सिस्टम के मीडिया कंट्रोल को बेहतर बनाया गया है. इससे उपयोगकर्ताओं को अपने मीडिया पर ज़्यादा कंट्रोल और बेहतर अनुभव मिलता है.

हर ऐप्लिकेशन के लिए, मीडिया के अपने-आप लॉन्च होने की सुविधा के कंट्रोल

Watch_IO26_AutoLaunch_Media_onBG_a05 (1).gif

उपयोगकर्ता अब स्मार्टवॉच पर, सिस्टम के मीडिया कंट्रोल से सीधे हर ऐप्लिकेशन के लिए, मीडिया के अपने-आप लॉन्च होने की सुविधा को अपनी पसंद के मुताबिक बना सकते हैं.

जिस ऐप्लिकेशन के लिए उपयोगकर्ता ने ‘अपने-आप लॉन्च होने की सेटिंग’ टॉगल की है, फ़ोन पर मीडिया शुरू होने पर, स्मार्टवॉच पर मीडिया कंट्रोल अपने-आप दिखने लगेंगे. 

_स्मार्टवॉच पर मीडिया ऐप्लिकेशन_ की सुविधा को पहले से लागू करने वाले डेवलपर, बिना किसी अतिरिक्त मेहनत के इस सुविधा का फ़ायदा ले सकते हैं.

Remote Output Switcher की मदद से, ऑडियो को आसानी से रूट करना

Remote Output Switcher (1).png

सिस्टम के मीडिया कंट्रोल में इंटिग्रेट किए गए नए Remote Output Switcher की मदद से, ऑडियो आउटपुट को मैनेज करना अब पहले से कहीं ज़्यादा आसान हो गया है. 

पेयर किए गए फ़ोन पर मीडिया सुनते समय, उपयोगकर्ता सीधे अपनी स्मार्टवॉच से उस डिवाइस को आसानी से स्विच कर सकते हैं जिस पर मीडिया चलाया जा रहा है.

यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के अपडेट

उपयोगकर्ताओं के लिए इन सभी नई सुविधाओं के साथ-साथ, हम डेवलपर टूलकिट में कुछ अहम सुधार कर रहे हैं, ताकि डेवलपर Wear OS के आने वाले समय के लिए खुद को तैयार कर सकें!

Compose for Wear OS 1.6

Wear OS के डेवलपमेंट के लिए, Compose for Wear OS 1.6 लॉन्च किया गया है.

इसमें अहम अपडेट शामिल हैं. जैसे:

Navigation 3 की मदद से, नेविगेशन को बेहतर बनाना

डेवलपर, Navigation 3 को इंटिग्रेट करके, Wear OS पर नेविगेशन को मैनेज करने का ज़्यादा फ़्लेक्सिबल और Compose-इडिओमैटिक तरीका उपलब्ध करा सकते हैं.

@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 की मदद से, सूची मैनेजमेंट को बेहतर बनाने के लिए अहम सुधार किए गए हैं. इनमें, नए minimumVerticalContentPadding मॉडिफ़ायर की मदद से बेहतर पैडिंग सपोर्ट और स्नैपिंग और रिवर्स लेआउट जैसी अन्य नई सुविधाएं शामिल हैं.

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

Protolayout और टाइल के अपडेट

हम डेवलपर को नए Wear विजेट अपनाने के लिए प्रोत्साहित करते हैं. हालांकि, हम कुछ समय के लिए अपनी Protolayout और टाइल लाइब्रेरी के लिए सहायता जारी रखेंगे. साथ ही, हमने दोनों के नए स्टेबल वर्शन लॉन्च किए हैं.

Protolayout 1.4 और टाइल्स 1.6 मिलकर कई अहम नई सुविधाएं उपलब्ध कराते हैं. इनमें ये शामिल हैं:

  • इनलाइन की गई इमेज रिसॉर्स: अब ImageResource को सीधे लेआउट में इनलाइन किया जा सकता है. साथ ही, टाइलें अब ProtoLayoutScope की मदद से, रिसॉर्स को अपने-आप इकट्ठा करने की सुविधा के साथ काम करती हैं. इससे, मैन्युअल तरीके से रिसॉर्स मैपिंग करने और उन्हें अलग-अलग तरीकों में बांटने की ज़रूरत नहीं होती. कोड की क्वालिटी बेहतर होने के साथ-साथ, इससे टाइलें लोड होने में लगने वाला समय भी कम हो जाता है. ऐसा इसलिए होता है, क्योंकि सिस्टम से प्रोवाइडर सेवा तक, एक ही बाइंडर कॉल में कंसोलिडेशन किया जाता है.
  • Material3TileService: टाइलें, Material3TileService के तौर पर लागू की जा सकती हैं. यह एक पूरी तरह से सस्पेंड फ़ंक्शन है, जो टाइल लेआउट और रिसॉर्स, दोनों को दिखाता है. साथ ही, यह डेवलपमेंट के अनुभव को आसान बनाने के लिए, MaterialScope और ProtoLayoutScope को अपने-आप मैनेज करता है.
  • डाइनैमिक सर्विस स्विचिंग: Wear 7 पर, अब मेनिफ़ेस्ट में कई TileService इंस्टेंस को ग्रुप किया जा सकता है, ताकि एक ही टाइल को दिखाने वाली अलग-अलग सेवाओं के बीच डाइनैमिक स्विचिंग की जा सके.

टाइल का नया सैंपल यहां देखें.

WFF 5

वॉच फ़ेस फ़ॉर्मैट का वर्शन 5 (WFF5) अब उपलब्ध है. इसमें वॉच फ़ेस बनाना आसान बनाने के लिए, कई नई सुविधाएं शामिल हैं. जैसे:

  • बेहतर अलाइनमेंट के विकल्प: TextCircular जैसे टेक्स्ट एलिमेंट में अब अलाइनमेंट के अतिरिक्त विकल्प मिलेंगे. इनमें, कई टेक्स्ट एलिमेंट के लिए एक ही बेसलाइन पर verticalAlign शामिल है.
  • ऑटो-साइज़ की सुविधा में सुधार: अब TextCircular पर isAutoSize का इस्तेमाल किया जा सकता है. साथ ही, फ़ॉन्ट एलिमेंट में एक नया एट्रिब्यूट, minSize जोड़ा गया है, ताकि ऑटो-साइज़ की सुविधा चालू होने पर, कम से कम साइज़ को सीमित किया जा सके.
  • ब्लेंड मोड: Group और ComplicationSlot एलिमेंट अब ब्लेंड मोड के साथ काम करते हैं. इसके अलावा, Part* एलिमेंट पर यह सुविधा पहले से उपलब्ध है.
  • स्ट्रोक जॉइन: Stroke और WeightedStroke एलिमेंट में अब एक जॉइन एट्रिब्यूट शामिल है.
  • क्रम के हिसाब से सेटिंग: अब User Styles को क्रम के हिसाब से स्ट्रक्चर किया जा सकता है. इसमें कुछ सेटिंग सिर्फ़ तब दिखती हैं, जब अन्य सेटिंग की वैल्यू खास होती हैं. User Styles की मदद से, अब कॉम्प्लिकेशन स्लॉट को चालू या बंद भी किया जा सकता है. इन्हें User Style Options पर childSettingIds और complicationSlotIds का इस्तेमाल करके कॉन्फ़िगर किया जा सकता है.

WFF 5 के बारे में ज़्यादा जानने के लिए, डेवलपर के लिए हमारी नई गाइडलाइन देखें.

Wear OS 7 के लिए अभी से ऐप्लिकेशन बनाना शुरू करें

इन अपडेट के बाद, Wear OS पर ऐप्लिकेशन बनाने का इससे अच्छा मौका नहीं मिलेगा. शुरुआत करने के तरीके के बारे में ज़्यादा जानने के लिए, ये तकनीकी संसाधन देखें:

हमें Wear OS पर आपके बनाए गए अनुभवों को देखने का इंतज़ार रहेगा!

लेखक:

पढ़ना जारी रखें