Menambahkan masukan multisensori ke aplikasi Android

Halaman ini menjelaskan cara memperkaya aplikasi dengan respons audio-haptik mengikuti panduan dari Sistem Desain Multisensori (MSDS). keywords_public: > haptik, getaran, audio, respons, Android, UI, UX, desain, multisensori, msds

Aplikasi yang berjalan di perangkat yang menjalankan Android dapat memberikan respons audio-haptik multisensori yang sesuai dengan Multisensory Design System (MSDS), sistem desain komponen yang ditokenisasi untuk audio dan haptik yang konsisten.

Mengapa menggunakan MSDS?

MSDS adalah sistem desain terpusat untuk meningkatkan respons audio dan haptik. Dengan MSDS, Anda tidak perlu mendesain, memilih, atau membuat respons sentuhan atau pendengaran sendiri untuk interaksi pengguna umum.

Selain itu, MSDS berfungsi secara konsisten di berbagai perangkat, menyinkronkan audio dan haptik secara optimal berdasarkan kemampuan perangkat.

Kapan Anda harus menggunakan MSDS?

MSDS memberikan masukan untuk interaksi pengguna aktif yang umum. Respons ini dipicu sebagai respons terhadap tindakan pengguna yang menyebabkan efek dalam sistem atau aplikasi, dan termasuk dalam dua kategori:

  • Masukan gestur: Mengonfirmasi manipulasi fisik real-time elemen UI dari gestur pengguna langsung.

  • Masukan semantik: Mengonfirmasi perubahan status, pilihan, atau progres pengguna secara real-time.

Bagaimana cara menggunakan MSDS?

MultisensoryManager API adalah titik entri untuk memberikan masukan MSDS. Anda dapat memutar masukan yang diberi token menggunakan metode playToken().

Untuk melihat token yang tersedia, baca konstanta bilangan bulat publik dari MultisensoryManager. Untuk menggunakan pengelola di aplikasi Anda, buat kueri sebagai layanan sistem dan putar token:

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

Anda juga dapat menyimpan referensi ke MultisensoryManager di ViewModel untuk memicu pemutaran MSDS sebagai respons terhadap panggilan metode atau perubahan status UI.

Rekomendasi

Masukan MSDS biasanya diputar bersama animasi atau gestur pengguna karena dipicu dari interaksi pengguna aktif. Putar respons pada waktu yang tepat sehingga visual, audio, dan haptik dipicu sedekat mungkin.

Bergantung pada struktur aplikasi Anda, rekomendasi ini dapat menghasilkan panggilan pemutaran di dalam callback composable UI (seperti contoh Switch sebelumnya), perubahan pada State atau StateFlow UI, frame animasi, atau respons UI terhadap input pengguna langsung.

Dalam semua kasus, rekomendasi umumnya adalah memberikan masukan setelah pengguna dapat melihat konsekuensi dari tindakan mereka dalam sistem.