Trang này mô tả cách làm phong phú ứng dụng bằng phản hồi âm thanh xúc giác theo nguyên tắc của Hệ thống thiết kế đa giác quan (MSDS). keywords_public: > xúc giác, rung, âm thanh, phản hồi, Android, giao diện người dùng, trải nghiệm người dùng, thiết kế, đa giác quan, msds
Các ứng dụng chạy trên thiết bị Android có thể cung cấp phản hồi âm thanh xúc giác đa giác quan tuân thủ Hệ thống thiết kế đa giác quan (MSDS), một thư viện thành phần được mã hoá để mang lại trải nghiệm âm thanh và xúc giác nhất quán.
Tại sao nên sử dụng MSDS?
MSDS là một hệ thống thiết kế tập trung giúp cải thiện phản hồi bằng âm thanh và xúc giác. Với MSDS, bạn không cần thiết kế, chọn hoặc tạo phản hồi xúc giác hoặc thính giác của riêng mình cho các hoạt động tương tác phổ biến của người dùng.
Ngoài ra, MSDS hoạt động nhất quán trên các thiết bị, đồng bộ hoá âm thanh và xúc giác một cách tối ưu dựa trên chức năng của thiết bị.
Khi nào bạn nên sử dụng MSDS?
MSDS cung cấp ý kiến phản hồi cho các hoạt động tương tác phổ biến của người dùng đang hoạt động. Phản hồi này kích hoạt để phản hồi một hành động của người dùng gây ra hiệu ứng trong hệ thống hoặc ứng dụng và được chia thành hai danh mục:
Phản hồi cử chỉ: Xác nhận thao tác vật lý theo thời gian thực của các phần tử trên giao diện người dùng từ cử chỉ của người dùng trực tiếp.
Phản hồi ngữ nghĩa: Xác nhận các thay đổi về trạng thái, lựa chọn hoặc tiến trình của người dùng theo thời gian thực.
Bạn sử dụng MSDS như thế nào?
API MultisensoryManager là điểm truy cập để gửi ý kiến phản hồi về MSDS. Bạn có thể phát phản hồi được mã hoá bằng cách sử dụng phương thức playToken().
Để xem các mã thông báo có sẵn, hãy đọc hằng số nguyên công khai của MultisensoryManager. Để sử dụng trình quản lý trong ứng dụng, hãy truy vấn trình quản lý dưới dạng dịch vụ hệ thống và phát mã thông báo:
@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) } } ) }
Bạn cũng có thể giữ tệp đối chiếu với MultisensoryManager trong ViewModel để kích hoạt tính năng phát MSDS nhằm phản hồi các lệnh gọi phương thức hoặc thay đổi trạng thái giao diện người dùng.
Đề xuất
Phản hồi MSDS thường phát cùng với ảnh động hoặc cử chỉ của người dùng vì phản hồi này được kích hoạt từ các hoạt động tương tác của người dùng đang hoạt động. Phát phản hồi vào thời điểm thích hợp để hình ảnh, âm thanh và xúc giác kích hoạt gần nhau nhất có thể.
Tuỳ thuộc vào cấu trúc ứng dụng, đề xuất này có thể dẫn đến các lệnh gọi phát lại trong lệnh gọi lại composable của giao diện người dùng (như ví dụ về Switch trước đó), các thay đổi đối với State hoặc StateFlow của giao diện người dùng, khung ảnh động hoặc phản hồi của giao diện người dùng đối với hoạt động đầu vào trực tiếp của người dùng.
Trong mọi trường hợp, bạn nên đưa ra phản hồi khi người dùng có thể nhận thấy kết quả của hành động của họ trong hệ thống.