このページでは、マルチセンサリー デザイン システム(MSDS)のガイドラインに沿って、オーディオ ハプティクス フィードバックでアプリを強化する方法について説明します。 keywords_public: > ハプティクス、振動、オーディオ、フィードバック、Android、UI、UX、デザイン、マルチセンサリー、 msds
Android を搭載したデバイスで動作するアプリは、マルチセンサリー デザイン システム(MSDS)に準拠したマルチセンサリー オーディオ ハプティクス フィードバックを提供できます。MSDS は、一貫したオーディオとハプティクスを実現するためのトークン化されたコンポーネント ライブラリです。
MSDS を使用する理由
MSDS は、オーディオ フィードバックと触覚フィードバックを改善するための、一元化されたデザイン システムです。MSDS を使用すると、一般的なユーザー インタラクションに対して、独自の触覚フィードバックや音声フィードバックを設計、選択、作成する必要がなくなります。
さらに、MSDS はデバイス間で一貫して動作し、デバイスの機能に基づいてオーディオと触覚を最適に同期します。
MSDS はどのような場合に使用しますか?
MSDS は、一般的なアクティブ ユーザー インタラクションに対するフィードバックを提供します。このフィードバックは、システムまたはアプリに影響を与えるユーザー アクションに応じてトリガーされ、次の 2 つのカテゴリに分類されます。
ジェスチャー フィードバック: ユーザーの直接的なジェスチャーによる UI 要素のリアルタイムの物理的な操作を確認します。
セマンティック フィードバック: リアルタイムの状態変化、選択、ユーザーの進行状況を確認します。
MSDS はどのように使用しますか?
MultisensoryManager API は、MSDS フィードバックを配信するためのエントリ ポイントです。トークン化されたフィードバックを再生するには、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) } } ) }
ViewModel に MultisensoryManager への参照を保持して、メソッド呼び出しや UI 状態の変化に応じて MSDS 再生をトリガーすることもできます。
推奨事項
MSDS フィードバックは、アクティブなユーザー操作によってトリガーされるため、通常はアニメーションやユーザー ジェスチャーとともに再生されます。視覚、音声、触覚が可能な限り同時にトリガーされるように、適切なタイミングでフィードバックを再生します。
アプリの構造によっては、この推奨事項により、UI コンポーザブル コールバック内の再生呼び出し(前述の Switch の例など)、UI の State または StateFlow の変更、アニメーション フレーム、直接的なユーザー入力に対する UI レスポンスが発生する可能性があります。
いずれの場合も、ユーザーがシステムでの操作の結果を認識できるようになったら、フィードバックを提供することをおすすめします。