このドキュメントでは、Android デバイスの触覚フィードバックの原則について説明します。ユースケース、ハプティクス効果の分類(クリア、リッチ、ブジー)、アプリ デベロッパー向けの重要な設計ガイドラインについて説明します。 keywords_public: > ハプティクス、バイブレーション、フィードバック、Android、UI、UX、設計、原則、ガイドライン、HapticFeedbackConstants
モバイル デバイスの触覚フィードバックに関しては、少ないほど効果的です。デバイスは通常、ユーザーが手に持って使用するため、振動が大きすぎると、不快に感じたり、手がしびれたりすることがあります。また、ユーザーが意図したタスクから気が散る可能性もあり、ユーザーがすべてのハプティクスをすぐにオフにする可能性があります。ただし、うまく作成されたハプティクスは、ユーザーがデバイスをより深く操作するための貴重な感覚フィードバックを提供します。
このページでは、ハプティクスを使用するユースケースについて説明し、ハプティクス効果の分類を紹介します。また、アプリの基本的なガイドラインについても説明します。
アプリにハプティクスを追加するユースケース
アプリにハプティクスを組み込む理由をいくつかご紹介します。
注意が必要なイベントをユーザーに通知するため。たとえば、着信やテキスト メッセージ、カレンダーの予定などが表示されます。
ユーザー操作後のデバイスの状態の変化を確認するため。たとえば、ボタンを押したときのクリック フィードバック、スマートフォンのロック解除、指紋認証の成功または失敗、カメラの起動などがあります。
ユーザーを効果で楽しませる。このような効果は、進行中のユーザー アクションを強化したり、物理的なインタラクションをエミュレートしたりする可能性があります。たとえば、スクロール フィードバック、スライダーが所定の位置にスナップする、アニメーション、音、動画、ゲームと同期した触覚効果などがあります。
ハプティクスの分類
ここで紹介するハプティクスの原則は、クリア ハプティクス、リッチ ハプティクス、耳障りなハプティクスを中心に設計されています。
クリア ハプティクス
クリア ハプティクスとは、ボタンを押すなどの個別のイベントに関連付けられた、鮮明でクリアな感覚を指します。これらの効果は、物理ボタンを押したときに感じるような、対応する現実世界の機械的な動作を模倣することを目的としていることがよくあります。
Android には、VibrationEffect で明確な触覚効果が事前定義されています。ただし、一般的にアプリは HapticFeedbackConstants のアクション指向の定数を使用して、デバイス全体で効果とアクションの一貫性を確保する必要があります。
アクション指向の定数のもう 1 つの利点は、より複雑なエフェクトがユーザーのデバイスでサポートされていない場合に、プラットフォームが代替動作を提供できることです。
触覚フィードバックのユースケースが拡大するにつれて、利用可能なクリア ハプティクスが単調に感じられることがあります。その場合は、より表現力豊かなリッチなハプティクスを目指してください。
リッチ ハプティクス
リッチなハプティクスには、一般的に、より広い周波数帯域幅を持つ触覚アクチュエータが必要となり、表現力と範囲が広がります。リッチ ハプティクスは、さまざまな振幅と間隔でクリア ハプティクス プリミティブをシーケンスすることでも生成できます。
リッチな触覚効果の例:
- 指先で蝶が羽ばたくような「羽ばたき」感
- 指で表面をドラッグまたはスワイプしたときに感じる質感
- ぐらつきや不安定さ、重さや反響の感覚
うるさいハプティクス
ブジー ハプティクスは、騒がしく、鋭く、貫通するような振動が特徴で、振動が終わった後もチクチクするような感覚が残ります。また、振動が完全に止まる前に、残響のような音が鳴る傾向があります。
振動の例:
- ジャックハンマーの操作
- オートバイに乗る
- モバイル デバイスで、キーを押した後に長く続く振動
ポケットベルやフィーチャー フォンの時代には、低性能のハプティクス アクチュエータやドライバを搭載したローエンドの携帯電話で、通知目的の長いバイブレーションがブザー音のように鳴ることがありました。
ハプティクス設計ガイドライン
大まかに言うと、設計ガイドラインは次のように要約できます。
- ブザーのようなハプティクスよりも、リッチでクリアなハプティクスを優先します。
- システムとアプリのデザインの両方で一貫性を保ちます。
- 使用頻度と重要度を考慮します。
事前定義の触覚定数と効果を優先
アクションが HapticFeedbackConstants に存在する事前定義済みのアクションでカバーされている場合は、その定数を使用します。これにより、一貫性のあるユーザー インタラクション エクスペリエンスが実現します。これは、アクセシビリティの観点から特に重要です。
独自のエフェクトを作成する場合は、VibrationEffect 事前定義エフェクトと VibrationEffect.Composition プリミティブの使用を検討してください。サポートされているデバイス全体で一貫した品質のエクスペリエンスを提供できる可能性が高くなります。
イベントの重要度と頻度を強さと関連付ける
触覚効果は、ユーザーを圧倒したり、無駄に感じさせたりするものであってはなりません。
スクロールやテキスト ハンドルの移動など、頻繁に発生するイベントに適用される触覚効果は、全体的に快適なエクスペリエンスを提供するために、非常に微妙なものにする必要があります。
たとえば、ページの更新やフォームの送信などの重要なイベントは、切り替えの変更やリストのスクロールよりも優先されるべきです。
両方のコンセプトを組み合わせて、インタラクションがターゲットに達するにつれて効果が強くなるエフェクトを作成します。たとえば、ドラッグ、ドロップ、スナップ アクションで一連の目盛りの振幅を徐々に大きくします。
一貫性を保つ
アプリ内でハプティクスを適用する際は、一貫性を持たせてください。フォームの送信やアプリ内ナビゲーションなどの特定の操作に触覚フィードバックがある場合は、同様のすべての操作に同じ効果が適用されていることを確認します。これにより、ユーザーは特定の触覚フィードバックに意味を関連付けることができます。
また、時間選択ツールや仮想キーボードなど、明確に定義されたインタラクションには同じ HapticFeedbackConstants を使用して、Android システムとの一貫性を保ちます。
ハプティクスで視覚と音声のエクスペリエンスを設計する
ハプティクスをユーザー エクスペリエンス全体の一部として検討します。
視覚効果、音声効果、触覚効果の共同設計を強く推奨します。ビジュアル アニメーションやサウンド パターンと調和させたり、一致させたりします。視覚と聴覚の入力によって、ハプティクスの認識を高めることができます。また、適切に設計されたハプティクス効果によって、視覚効果と音声効果に物理性を与えることができます。
逆に、触覚フィードバックが同期していなかったり、視覚効果や音声効果と一致していないと感じられたりすると、ユーザーは少し不安に感じる可能性があります。場合によっては、ハプティクス アクチュエータが破損しているとユーザーが認識することがあります。
触覚フィードバックに以前のワンショット バイブレーションを使用しない
VibrationEffect.createOneShot で定義されたものや、API Vibrator.vibrate(long) および Vibrator.vibrate(long[], int) で実行されるものなど、以前のワンショット バイブレーションの使用は避けてください。
特に、パフォーマンスの低いハプティクス アクチュエータまたはドライバを搭載したデバイスでは、入力波形が終了した後も振動が長く続くと、ブザーのような振動に感じられることがあります。
キークリックのハプティクス フィードバック信号は 10 ~ 20 ミリ秒の範囲で持続するのが適切です。ただし、アクチュエータへの 20 ミリ秒の入力が終了した後も、アクチュエータが 20 ~ 50 ミリ秒間鳴り続けることがあります。そのため、このタイプのフィードバックでは、単発のバイブレーションは避けることをおすすめします。