इस पेज पर, मल्टीसेंसरी डिज़ाइन सिस्टम (एमएसडीएस) के दिशा-निर्देशों का पालन करते हुए, ऐप्लिकेशन में ऑडियो-हैप्टिक फ़ीडबैक जोड़ने का तरीका बताया गया है. keywords_public: > haptics, vibration, audio, feedback, Android, UI, UX, design, multisensory, msds
Android पर चलने वाले डिवाइसों पर मौजूद ऐप्लिकेशन, मल्टीसेंसरी डिज़ाइन सिस्टम (एमएसडीएस) के मुताबिक मल्टीसेंसरी ऑडियो-हैप्टिक फ़ीडबैक दे सकते हैं. यह एक टोकन वाली कॉम्पोनेंट लाइब्रेरी है, जो एक जैसा ऑडियो और हैप्टिक उपलब्ध कराती है.
एमएसडीएस का इस्तेमाल क्यों करना चाहिए?
एमएसडीएस एक सेंट्रलाइज़्ड डिज़ाइन सिस्टम है. इससे ऑडियो और हैप्टिक फ़ीडबैक को बेहतर बनाया जाता है. एमएसडीएस की मदद से, आपको सामान्य उपयोगकर्ता इंटरैक्शन के लिए, खुद से स्पर्श या आवाज़ वाले फ़ीडबैक को डिज़ाइन करने, चुनने या बनाने की ज़रूरत नहीं पड़ती.
इसके अलावा, एमएसडीएस सभी डिवाइसों पर एक जैसा काम करता है. यह डिवाइस की क्षमताओं के आधार पर, ऑडियो और हैप्टिक्स को बेहतर तरीके से सिंक करता है.
आपको एमएसडीएस का इस्तेमाल कब करना चाहिए?
एमएसडीएस, सक्रिय उपयोगकर्ता के सामान्य इंटरैक्शन के लिए सुझाव/राय देता है. यह फ़ीडबैक, उपयोगकर्ता की किसी ऐसी कार्रवाई के जवाब में ट्रिगर होता है जिससे सिस्टम या ऐप्लिकेशन पर असर पड़ता है. इसे दो कैटगरी में बांटा गया है:
जेस्चर फ़ीडबैक: इससे यह पुष्टि होती है कि उपयोगकर्ता के जेस्चर से, यूज़र इंटरफ़ेस (यूआई) एलिमेंट में रीयल-टाइम में बदलाव किया जा सकता है.
सिमैंटिक फ़ीडबैक: इससे रीयल-टाइम में स्थिति में होने वाले बदलावों, चुने गए विकल्पों या उपयोगकर्ता की प्रोग्रेस की पुष्टि होती है.
एमएसडीएस का इस्तेमाल कैसे किया जाता है?
MultisensoryManager एपीआई, एमएसडीएस के बारे में सुझाव/राय देने या शिकायत करने के लिए एंट्री पॉइंट है. playToken() तरीके का इस्तेमाल करके, टोकन वाले सुझाव, शिकायत या राय को चलाया जा सकता है.
उपलब्ध टोकन देखने के लिए, MultisensoryManager के सार्वजनिक इंटिजर कॉन्सटैंट पढ़ें. अपने ऐप्लिकेशन में मैनेजर का इस्तेमाल करने के लिए, इसे सिस्टम सर्विस के तौर पर क्वेरी करें और टोकन चलाएं:
@RequiresApi(Build.VERSION_CODES_FULL.CINNAMON_BUN_2) @Composable fun MultisensorySwitch() { val context = LocalContext.current val multisensoryManager = remember(context) { context.getSystemService(MultisensoryManager::class.java) } var checked by remember { mutableStateOf(false) } Switch( checked = checked, onCheckedChange = { isChecked -> checked = isChecked if (isChecked) { multisensoryManager?.playToken(MultisensoryManager.TOKEN_SWITCH_ON) } else { multisensoryManager?.playToken(MultisensoryManager.TOKEN_SWITCH_OFF) } } ) }
आपके पास MultisensoryManager का रेफ़रंस ViewModel में सेव रखने का विकल्प भी होता है. इससे, यूज़र इंटरफ़ेस (यूआई) की स्थिति में बदलाव होने या मेथड कॉल के जवाब में, एमएसडीएस प्लेबैक को ट्रिगर किया जा सकता है.
सुझाव
एमएसडीएस फ़ीडबैक आम तौर पर, ऐनिमेशन या उपयोगकर्ता के जेस्चर के साथ चलता है. ऐसा इसलिए होता है, क्योंकि यह उपयोगकर्ता के इंटरैक्शन से ट्रिगर होता है. सही समय पर फ़ीडबैक दें, ताकि विज़ुअल, ऑडियो, और हैप्टिक एक साथ ट्रिगर हो सकें.
आपके ऐप्लिकेशन के स्ट्रक्चर के आधार पर, इस सुझाव की वजह से यूआई कंपोज़ेबल कॉलबैक (जैसे कि पहले दिया गया Switch उदाहरण) में प्लेबैक कॉल हो सकते हैं. साथ ही, यूआई State या StateFlow, ऐनिमेशन फ़्रेम या उपयोगकर्ता के इनपुट पर यूआई के रिस्पॉन्स में बदलाव हो सकते हैं.
सभी मामलों में, हमारा सुझाव है कि सुझाव/राय तब दी जाए, जब उपयोगकर्ता को सिस्टम में अपनी कार्रवाई के नतीजे का पता चल जाए.