स्मार्टवॉच, चलते-फिरते इस्तेमाल करने के लिए सही होती हैं. हालांकि, अगर लोगों के हाथ भरे हों, तो उन्हें इस्तेमाल करना मुश्किल हो जाता है. इस समस्या को हल करने के लिए, Wear OS 7 में ओईएम के लिए, एक हाथ से इस्तेमाल करने के लिए नए जेस्चर फ़्रेमवर्क की सुविधा जोड़ी गई है. साथ ही, Wear OS पर Jetpack Compose का इस्तेमाल करने वाले डेवलपर के लिए, Gesture API की सुविधा भी जोड़ी गई है. हालांकि, यह फ़्रेमवर्क सिर्फ़ Pixel Watch डिवाइसों (Pixel Watch 3 और इसके बाद के मॉडल) पर उपलब्ध है. हालांकि, यह सभी मैन्युफ़ैक्चरर के लिए उपलब्ध है. इस एपीआई के लिए सहायता उपलब्ध कराने पर, आपके ऐप्लिकेशन में जेस्चर की सुविधा, पूरे इकोसिस्टम में अपने-आप स्केल हो सकती है. ऐसा तब होगा, जब अन्य ओईएम भी इस सुविधा को चुनेंगे.
बिना टच किए, बेहतर अनुभव देने वाले ऐप्लिकेशन बनाने के लिए, इन दिशा-निर्देशों का पालन करें. इससे यह तय करने में मदद मिलेगी कि आपके ऐप्लिकेशन के लिए, एक हाथ से इस्तेमाल करने के जेस्चर सही हैं या नहीं.
सहायता देने वाले जेस्चर और कार्रवाइयां
Wear OS के जेस्चर फ़्रेमवर्क में, दो तरह के जेस्चर की सुविधा उपलब्ध है: प्राइमरी ऐक्शन और कार्रवाई खारिज करें. Pixel Watch पर, प्राइमरी ऐक्शन को दो उंगलियों से पिंच करने वाले जेस्चर से मैप किया जाता है. वहीं, कार्रवाई खारिज करने वाले ऐक्शन को कलाई घुमाने वाले जेस्चर से मैप किया जाता है.
प्राइमरी ऐक्शन
प्राइमरी ऐक्शन को मुख्य टास्क से मैप किया जाना चाहिए. जैसे, फ़ोन कॉल का जवाब देना या मीडिया कंट्रोल में, प्ले या पॉज़ करने की सुविधा को टॉगल करना. यह टास्क, उपयोगकर्ता किसी स्क्रीन या पेज पर पूरा कर सकता है. अगर पेज को स्क्रोल किया जा सकता है, तो आपका ऐप्लिकेशन, प्राइमरी ऐक्शन के लिए एक बार में सिर्फ़ एक यूज़र इंटरफ़ेस (यूआई) एलिमेंट को मैप कर सकता है.
दो उंगलियों से पिंच करने वाला जेस्चर तब सबसे ज़्यादा काम का होता है, जब उपयोगकर्ता उस यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर जेस्चर, आवाज़ या एलिमेंट के अपने-आप खुलने (जैसे, सूचना या मीडिया कंट्रोल) की मदद से नेविगेट कर सकता है. अगर यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर नेविगेट करने का सिर्फ़ एक तरीका है, यानी टच या बटन का इस्तेमाल करना, तो यह कार्रवाई, प्राइमरी ऐक्शन जेस्चर के लिए सही इस्तेमाल का उदाहरण नहीं है.
कार्रवाई खारिज करें
डिफ़ॉल्ट रूप से, कार्रवाई खारिज करने वाला ऐक्शन, सिस्टम के 'वापस जाएं' बटन से मैप होता है. इससे, उपयोगकर्ता पिछली स्क्रीन पर वापस जा सकता है. आपका ऐप्लिकेशन, खास इस्तेमाल के उदाहरणों के लिए कलाई घुमाने वाले जेस्चर को ओवरराइड कर सकता है. हालांकि, ये अपवाद अब भी खारिज करने, आवाज़ बंद करने या छोटा करने के कॉन्सेप्ट के मुताबिक होने चाहिए. ओवरराइड के उदाहरणों में, कॉल को खारिज करने के बजाय उसकी आवाज़ बंद करना और सूचनाओं को खारिज या मिटाने के बजाय उन्हें बंद करना शामिल है. इस ऐक्शन को आपके ऐप्लिकेशन में, किसी भी कार्रवाई से मैप नहीं किया जाना चाहिए. भले ही, ऐसा करना कितना भी आसान क्यों न हो. इसकी वजह यह है कि इससे, कार्रवाई खारिज करने वाले ऐक्शन को 'वापस जाएं' या 'खारिज करें' कमांड के लिए, एक जैसे इंडिकेटर के तौर पर इस्तेमाल करने का उपयोगकर्ता मॉडल टूट जाता है.
किसी स्क्रीन के लिए, कार्रवाई खारिज करने वाले ऐक्शन को बंद भी किया जा सकता है. ऐसा तब किया जाता है, जब अनजाने में ट्रिगर होने की वजह से, कोई जोखिम हो. जैसे, वर्कआउट की स्क्रीन या इमरजेंसी कॉल के दौरान. किसी स्क्रीन के लिए, कलाई घुमाने वाले जेस्चर को बंद करने के लिए, कार्रवाई खारिज करने वाले ऐक्शन की सदस्यता लें. हालांकि, भेजे गए जेस्चर इवेंट के साथ कुछ न करें. इसका मतलब है कि खाली सदस्यता दें.
Quick gesture के लिए दिशा-निर्देश
Wear OS के जेस्चर फ़्रेमवर्क को, रुकावटों और कंट्रोल को मैनेज करने के लिए डिज़ाइन किया गया है. इसे, स्मार्टवॉच के पूरे नेविगेशन को चालू करने के लिए डिज़ाइन नहीं किया गया है. अपने ऐप्लिकेशन में, एक हाथ से इस्तेमाल करने के जेस्चर की सुविधा जोड़ने के लिए, इन दिशा-निर्देशों का पालन करें:
- नेविगेशन कम करें: एक बार में पूरी होने वाली कार्रवाइयों के लिए जेस्चर का इस्तेमाल करें. जैसे, सूचना खारिज करना या मीडिया को पॉज़ और फिर से शुरू करना.
- स्क्रोल करने के लिए कम जेस्चर का इस्तेमाल करें: स्क्रोल करने के लिए, प्राइमरी जेस्चर (दो उंगलियों से पिंच करना) का इस्तेमाल किया जा सकता है. हालांकि, स्क्रोल किए जा सकने वाले सभी कॉन्टेंट के लिए, यह डिफ़ॉल्ट अनुभव नहीं होना चाहिए. जेस्चर से स्क्रोल करने की सुविधा सिर्फ़ तब चालू करें, जब ये शर्तें पूरी की जा सकती हों:
- उपयोगकर्ता, एक हाथ से या बिना हाथ इस्तेमाल किए, स्क्रोल व्यू में जा सकता हो. जैसे, जेस्चर, वॉइस कमांड या ऐसी स्क्रीन का इस्तेमाल करके जो अपने-आप लॉन्च होती हैं. जैसे, मीडिया कंट्रोल और Maps नेविगेशन.
- कॉन्टेंट से एक नज़र में वैल्यू मिलती हो. जैसे, वर्कआउट की खास जानकारी. साथ ही, इसमें आगे कोई इंटरैक्शन की ज़रूरत न हो. हालांकि, एक बटन का विकल्प हो सकता है. इस बटन को व्यू में स्क्रोल करने के बाद, प्राइमरी जेस्चर ऐक्शन भी लिया जा सकता है. जैसे, हो गया बटन.
- डेड एंड से बचें: पक्का करें कि जेस्चर की कार्रवाइयों से डेड एंड न बनें. ऐसा तब होता है, जब उपयोगकर्ता, टचस्क्रीन या किसी बटन का इस्तेमाल किए बिना, आगे नहीं बढ़ पाता.
- छिपी हुई कार्रवाइयों से बचें: सिर्फ़ जेस्चर से की जाने वाली किसी कार्रवाई को कभी न छिपाएं. अगर कोई उपयोगकर्ता, दो उंगलियों से पिंच करने वाले जेस्चर से कोई कार्रवाई कर सकता है, तो उसी टास्क को करने वाला, दिखने वाला और टैप किया जा सकने वाला बटन मौजूद होना चाहिए. इसका अपवाद, यूनिवर्सल ऐक्शन हैं. जैसे, वापस जाने के लिए कलाई घुमाना. इसमें, उपयोगकर्ता के इरादे का अंदाज़ा लगाना मुश्किल होता है.
जेस्चर इंटरैक्शन फ़्लो और फ़ीडबैक
जब कोई जेस्चर उपलब्ध होता है और उपयोगकर्ता उसे करता है, तो इवेंट का यह क्रम होता है:
- जेस्चर के बारे में जानकारी: जब प्राइमरी ऐक्शन जेस्चर उपलब्ध होता है, तो स्क्रीन पर, हाथ के ऐनिमेटेड इलस्ट्रेशन को दिखाया जाता है. इससे उपयोगकर्ता को यह जानकारी मिलती है कि कौनसी जेस्चर की सुविधा उपलब्ध है और जेस्चर, किस यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर काम करेगा. आम तौर पर, कार्रवाई खारिज करने वाले ऐक्शन के लिए, जेस्चर के बारे में जानकारी नहीं दिखती. ऐसा तब होता है, जब यह स्क्रीन पर मौजूद किसी यूज़र इंटरफ़ेस (यूआई) एलिमेंट से मैप न हो.
- हैप्टिक फ़ीडबैक: जेस्चर ऐक्शन के सफलतापूर्वक हैंडल होने पर, छोटा और साफ़ हैप्टिक प्ले होता है.
आवाज़ और विज़ुअल फ़ीडबैक: किसी यूज़र इंटरफ़ेस (यूआई) एलिमेंट से जुड़ा कोई भी साउंड या विज़ुअल फ़ीडबैक, जो टच इंटरैक्शन के साथ होता है, उसे जेस्चर की कार्रवाइयों के साथ भी ट्रिगर किया जाना चाहिए. बेहतर अनुभव देने के लिए, आपको अपने ऐप्लिकेशन के मौजूदा टच ऑडियो और विज़ुअल कॉलबैक को जेस्चर इवेंट में जोड़ना होगा.
उदाहरण: कैमरे में शटर की आवाज़ और बटन इंटरैक्शन की सुविधा है. इन्हें जेस्चर से ट्रिगर किया जाना चाहिए.
जेस्चर के बारे में जानकारी, ट्रेनिंग, और सेटिंग
जेस्चर की कार्रवाइयों को खोजने में लोगों की मदद करने के लिए, Pixel Watch पर इंटरैक्टिव ट्यूटोरियल और Gesture API में जेस्चर के बारे में जानकारी देने वाला फ़्रेमवर्क उपलब्ध है. सिस्टम की सेटिंग में, जेस्चर की सेटिंग भी उपलब्ध हैं. Pixel Watch पर, सेटिंग > जेस्चर > हाथ के जेस्चर में ये सेटिंग देखी जा सकती हैं.
ट्यूटोरियल ऑनबोर्डिंग
Pixel Watch पर, उपयोगकर्ताओं को इंटरैक्टिव ट्यूटोरियल और Pixel के सुझावों की मदद से, हाथ के जेस्चर के बारे में जानकारी दी जाती है. अपने ऐप्लिकेशन में, जेस्चर के लिए अलग से ट्यूटोरियल बनाने की ज़रूरत नहीं है. इसके बजाय, Wear OS पर Jetpack Compose की मदद से, कॉन्टेक्स्ट के हिसाब से मिलने वाली जानकारी का इस्तेमाल करें. इससे उपयोगकर्ताओं को यह जानकारी मिलेगी कि आपके ऐप्लिकेशन में, जेस्चर की सुविधा कहां उपलब्ध है.
कॉन्टेक्स्ट के हिसाब से मिलने वाली जानकारी
उपयोगकर्ताओं को आपके ऐप्लिकेशन में जेस्चर खोजने में मदद करने के लिए, ऐसी जानकारी दें जो जेस्चर की कार्रवाई को, इस्तेमाल की जा सकने वाली सुविधा से जोड़ती हो. कम शब्दों में दी गई जानकारी ज़्यादा साफ़ और आसानी से पढ़ी जा सकती है. इससे, अन्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट में कम रुकावट आती है.
कॉन्टेक्स्ट के हिसाब से मिलने वाली जानकारी के टाइप में ये शामिल हैं:
- बटन के बारे में जानकारी
- यह किसी यूज़र इंटरफ़ेस (यूआई) एलिमेंट में, ऐनिमेटेड आइकॉन के तौर पर दिखती है. जैसे, बटन. इससे उस एलिमेंट में मौजूद सामान्य कॉन्टेंट कुछ समय के लिए छिप जाता है. जैसे, बटन का लेबल या आइकॉन.
- फ़्लोटिंग जानकारी
- यह एक छोटे बबल ओवरले में मौजूद ऐनिमेटेड आइकॉन है. यह उस यूज़र इंटरफ़ेस (यूआई) एलिमेंट की ओर इशारा करता है जिस पर जेस्चर का असर होता है. फ़्लोटिंग जानकारी का इस्तेमाल आम तौर पर तब किया जाता है, जब वह यूज़र इंटरफ़ेस (यूआई) एलिमेंट बहुत छोटा होता है जिसकी ओर यह इशारा करती है. इसका मुख्य उदाहरण स्क्रोल करना है. इसमें, जानकारी देने वाला बबल, स्क्रोल बार की ओर इशारा करता है. इससे यह पता चलता है कि प्राइमरी जेस्चर से स्क्रोल किया जाएगा.
- जानकारी, किसी भी दिशा की ओर इशारा कर सकती है (ऊपर, नीचे, बाएं, दाएं).
बटन के बारे में जानकारी
यह कुछ समय के लिए, मौजूदा आइकॉन या टेक्स्ट से बदल जाती है.
फ़्लोटिंग जानकारी
यह स्क्रीन पर मौजूद किसी ऐसे एलिमेंट की ओर इशारा करती है जो बटन के बारे में जानकारी देने के लिए बहुत छोटा है.
रंग के बारे में दिशा-निर्देश:
- बटन के बारे में जानकारी
- डिफ़ॉल्ट रूप से, ऐनिमेटेड वेक्टर ड्रॉएबल (एवीडी) का रंग, बटन के आइकॉन या टेक्स्ट के रंग (
LocalContentColor) से मैच करने के लिए टिंट किया जाता है. - ज़रूरत पड़ने पर, एवीडी को पसंद के मुताबिक रंग में टिंट किया जा सकता है. हालांकि, आम तौर पर रंग वही होना चाहिए जिसे यह कुछ समय के लिए बदलता है, ताकि सही कंट्रास्ट मिल सके.
- डिफ़ॉल्ट रूप से, ऐनिमेटेड वेक्टर ड्रॉएबल (एवीडी) का रंग, बटन के आइकॉन या टेक्स्ट के रंग (
- फ़्लोटिंग जानकारी
- जानकारी देने वाले कंटेनर पर
Tertiaryरंग लागू होता है. - एवीडी का रंग,
onTertiaryके हिसाब से टिंट किया जाता है. - जानकारी देने वाले बबल और बैकग्राउंड के आकार, दोनों के रंग को पसंद के मुताबिक बनाया जा सकता है.
- जानकारी देने वाले कंटेनर पर
बटन के बारे में जानकारी देने वाले बबल के रंग के बारे में दिशा-निर्देश
एवीडी का रंग, बटन के आइकॉन या टेक्स्ट के रंग से मैच करता है.
फ़्लोटिंग जानकारी देने वाले बबल के रंग के बारे में दिशा-निर्देश
जानकारी देने वाले कंटेनर में Tertiary और एवीडी में onTertiary का इस्तेमाल किया जाता है.
जानकारी देने वाले बबल की कैडेंस के नियम:
उपयोगकर्ताओं को जेस्चर खोजने में मदद करने के लिए, प्लैटफ़ॉर्म पर यह तय करने की सुविधा उपलब्ध है कि किसी अनुभव के लिए, जानकारी देने वाला बबल कितनी बार दिखाया जाना चाहिए. जानकारी देने वाले बबल की कैडेंस लॉजिक, हर अनुभव के हिसाब से अलग-अलग नहीं होती, बल्कि ग्लोबल होती है. Wear OS के जेस्चर फ़्रेमवर्क, कैडेंस को कंट्रोल करता है. साथ ही, उपयोगकर्ताओं के लिए कैडेंस को अडजस्ट करने की सेटिंग (Pixel Watch पर, जेस्चर > हाथ के जेस्चर > जेस्चर के बारे में जानकारी) उपलब्ध कराता है.
- बटन के बारे में जानकारी
- जेस्चर ऐक्शन वाले किसी ऐप्लिकेशन को पहली बार लॉन्च करने पर या जेस्चर ऐक्शन की सुविधा वाले किसी ऐप्लिकेशन को अपडेट करने पर, उस ऐक्शन के लिए जानकारी देने वाला बबल, शुरुआत में कम से कम एक बार दिखता है. जानकारी देने वाला बबल, उपयोगकर्ता की तय की गई कैडेंस (जैसे, हमेशा, हर दिन, और हर महीने) के हिसाब से ही दोबारा दिखता है. जानकारी देने वाले बबल, डिफ़ॉल्ट रूप से हमेशा पर सेट होते हैं.
- फ़्लोटिंग जानकारी
- फ़्लोटिंग जानकारी देने वाले बबल, आस-पास के कॉन्टेंट को कवर करते हैं. इसलिए, ये हर अनुभव के लिए, हर दिन ज़्यादा से ज़्यादा एक बार दिखते हैं. अगर जानकारी देने वाले बबल की ग्लोबल कैडेंस, हर दिन से कम बार (हर दिन) पर सेट है, तो सिस्टम उस कैडेंस का इस्तेमाल करता है.
अन्य संसाधन
अपने ऐप्लिकेशन में, एक हाथ से इस्तेमाल करने के जेस्चर की सुविधा लागू करने के तरीके के बारे में डेवलपर के लिए दिशा-निर्देश पाने के लिए, Wear OS की मदद से, स्मार्टवॉच के लिए ऐप्लिकेशन बनाना लेख पढ़ें.