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

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

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

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

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

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

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 विजेट के बारे में बताने जा रहे हैं. ये विजेट, ज़रूरत के हिसाब से काम करते हैं और डाइनैमिक होते हैं. 

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

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

widgets code (1).png

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

लाइव अपडेट

Live Updates Blog post (1).png

Wear OS 7 में, घड़ियों के लिए लाइव अपडेट की सुविधा उपलब्ध है!

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

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

ऊपर देखें कि 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 Workout Tracker

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

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

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

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

रिमोट आउटपुट स्विचर की मदद से, ऑडियो को आसानी से रूट करना

Remote Output Switcher (1).png

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

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

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

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

Compose for Wear OS 1.6

Wear OS के लिए ऐप्लिकेशन बनाने के लिए, Compose for Wear OS 1.6 उपलब्ध है.

इसमें कई शानदार अपडेट शामिल हैं. जैसे:

Navigation 3 की मदद से, आसानी से नेविगेट करना

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

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

प्रोटोलेआउट और टाइल से जुड़े अपडेट

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

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

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

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

WFF 5

Watch Face Format के वर्शन 5 (WFF5) में कई नई सुविधाएं उपलब्ध हैं. इनकी मदद से, वॉच फ़ेस बनाना आसान हो जाता है. इनमें ये सुविधाएं शामिल हैं:

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

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

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

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

हमें Wear OS पर आपके बनाए गए ऐप्लिकेशन का इंतज़ार रहेगा!

इसे लिखा है:

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