ホーム‎ > ‎Patterns‎ > ‎

Notifications

ノーティフィケーション


ノーティフィケーションシステムにより、アプリは新しいチャットのメッセージやカレンダーのイベントなどの重要なイベントを随時ユーザに伝えることができます。ノーティフィケーションは、ユーザが別のことをしている間におきた、重要なイベントやイベントのログをユーザに知らせるニュースチャンネルのようなものと考えてください。

デベロッパードキュメント
Notifying the User

Jelly Beanからの新しい内容
Jelly Beanでは、Androidが始まって以来の最も重要な、ノーティフィケーションに関する構造や機能のアップデートがありました。
  • ノーティフィケーションに、ユーザがノーティフィケーションドロワーからの通知をすぐに動作できるようなアクションを含めることができます。
  • ノーティフィケーションのサイズ・レイアウトが今よりも柔軟になりました。追加情報の詳細を表示するように拡張できます。
  • 優先度フラグを、時間だけでなく重要性によってノーティフィケーションをソートするために導入しました。

ノーティフィケーションの構造

基本レイアウト
最低でも、全てのノーティフィケーションのレイアウトは次のような基本レイアウトで構成されています。
  • 送信側のアプリケーションの通知アイコンや送信者の写真
  • ノーティフィケーションのタイトルとメッセージ
  • タイムスタンプ
  • 送信者の画像がメインアイコンに表示されている場合に、送信元のアプリケーションを識別するためのセカンドアイコン

インフォメーション配置の基本的なレイアウトはJelly Beanでも変わっていないので、アプリのノーティフィケーションはJelly Beanよりも前のバージョンと同じように見え、動作するように設計されています。
ノーティフィケーションの基本レイアウト

エクスパンドレイアウト
Jelly Beanでは、イベントをより詳細に示すためのオプションが追加されました。これを使うことでメッセージの最初の数行を表示したり、プレビュー画像をより大きく表示することができます。この機能により、ユーザに追加の内容を示すことができるばかりか、例によっては、メッセージ全体をユーザに示すことができるかもしれません。ユーザはピンチズームもしくは2本指でつまむことで、基本レイアウトと拡張レイアウト切り替えることができます。Androidはアプリでは、ひとつのノーティフィケーションで再利用できる2つの拡張レイアウトのテンプレート(テキストと画像)を示すことができます。


アクション
Jelly Beanを始め、Androidはノーティフィケーションの下部に表示される付属のアクションをサポートしています。アクションにより、ユーザはアプリケーションを開かずにノーティフィケーションシェード内から直接タスクを実行できます。これは「スワイプでの削除」との相互作用を促進し、ユーザが通知に対し効率良く優先順に対応するのに役立ちます。

アクションをいくつのノーティフィケーションに入れるかは、慎重に考慮しなければいけません。多くのアクションを入れると、把握することが難しくなります。最も重要で意味のあるものだけを入れ、実行可能なアクションを最小限に制限してください。

ノーティフィケーションの良いアクション候補は、次のとおりです:
  • 必要不可欠で、頻繁かつ標準的なスピードが重視される表示コンテンツ
  • タイムクリティカル(時間的に緊急性がある)
  • 重複しないアクション

このようなアクションは避けてください:
  • あいまいなもの
  • ノーティフィケーションのデフォルトアクションと重複したもの("読む"や"開く")
2つのアクションを持つカレンダーのリマインダー通知

アクションアイコンとアクション名のセットで構成されるアクションを最大3つまで指定することができます。ノーティフィケーションが拡張レイアウトではなくても、アクションをシンプルな基本レイアウトに追加することで、ノーティフィケーションを拡張できるようになります。アクションは拡張されたノーティフィケーションのみに表示され、それ以外の場合は隠れているため、ユーザ通知から実行できる任意のアクションだけでなく、関連するアプリケーションの動作についても確認する必要があります。

デザインガイドライン

個人用ノーティフィケーション作成
(メッセージやステータス更新のような)ほかのユーザによって送信された項目の通知には、送信者の画像が含まれています。

通知を送ったアプリをユーザが認識できるように、ノーティフィケーションにセカンドアイコンでアプリアイコンを入れることを忘れないでください。

適切な場所へのナビゲーション
ユーザがノーティフィケーション(アクションボタンの外側)をタッチしたら、ユーザがその通知で参照されているデータを閲覧・操作できるアプリを開いてください。ほとんどの場合、これはメッセージの様な単一項目の詳細ビューでしょうが、もしノーティフィケーションがスタック(ノーティフィケーションがスタックしたように見える)され、複数の項目を参照しているならサマリービューかもしれません。ユーザがあなたのアプリのトップレベルよりも下の階層にナビゲートされるなら、ユーザがシステムのバックキーを使ってアプリのトップレベルへ移動できるように、アプリのバックスタックにナビゲーションを挿入してください。

ノーティフィケーション優先度の正しい設定と管理
Jelly Beanを始めとして,Androidはノーティフィケーションのための優先度フラグをサポートしています。あなたのノーティフィケーションがその他のノーティフィケーションと比較してどこに表示されるかに影響し、ユーザが常に最初に一番重要な通知をみることに役立ちます。ノーティフィケーションを送信する際に、次のような優先度レベルから選択できます。

優先度 利用シーン
MAX
スピードが重視されるか、特定のタスクを継続させる前に解決する必要のある状態をユーザに警告する重要かつ緊急な通知として使用します。
HIGH
優先度の高い通知は主にユーザが特に興味のある内容を持つメッセージやチャット イベントのような、重要なコミュニケーションのために使用します。
DEFAULT
デフォルトの優先度です。他のカテゴリに分類されないすべての通知は、この優先度のままにしてください。
LOW
ユーザには知らせたいが、緊急度が低い通知に使用します。
MIN
コンテキスト/バックグラウンド情報(例:ウェザー情報、コンテキスト位置情報)。最低優先度の通知は、ステータスバーに表示されません。通知トレイを展開することでユーザは見つけることができます。

ノーティフィケーションのスタック
同じタイプの通知が依然として残っている場合に、アプリが追加のノーティフィケーションを生成する場合には、まったく新しいノーティフィケーションオブジェクトを表示するのはさけ、代わりにノーティフィケーションをスタックしてください。

スタックされたノーティフィケーションは説明を要約し、保留中のノーティフィケーションの数をユーザに示すことができます。

してはいけいない事:

すべき事:

エクスバンド ダイジェスト レイアウトを使って、スタックを構成するそれぞれのノーティフィケーションについての詳細を提供することができます。これにより、ユーザにどのノーティフィケーションが残っているかや、アプリに関連する詳細を読むことが、とても面白いということを詳細に示すことができます。


ノーティフィケーションオプションの作成
ユーザが常にノーティフィケーションをコントロールできるようにするべきです。ユーザはアプリの設定項目にノーティフィケーションの設定を追加することによって、ノーティフィケーションを無効にしたり、アラート音やバイブレーションの使用などを切り替える事ができます。

明確なアイコンの使用
ノーティフィケーションの領域をちらっと見るだけで、ユーザが現在保留中のノーティフィケーションの種類を見分けるようにすべきです。

○やること
Androidアプリが既に提供している通知アイコンを参考に、見た目ではっきり区別できるアプリ専用のノーティフィケーションを作成します。

○やること
小さなアイコンに対応した適切なノーティフィケーションアイコンのスタイルや、アクションアイコンに対応した"Holo Dark"アクションバーアイコンのスタイルを使用します。

○やること
アイコンのビジュアルをシンプルに保ち、見分けるのが難しいほどの細かい表現は避けます。

×やってはいけないこと
他のアプリと区別するために色を使用すること。

適切なノーティフィケーションLEDパルス
多くのAndroidデバイスは、スクリーンがオフの間にユーザにイベントの情報を通知する為に使用される、ノーティフィケーションLEDと呼ばれる、小さなランプを持っています。優先度レベルがMAX, HIGH, DEFAULTのノーティフィケーションはLEDを光らせるべきですが、低い優先度(LOWとMIN)は光らせるべきではありません。

ユーザの通知に対するコントロールはLEDまで及ぶべきです。デフォルトでLEDは白く光ります。ユーザが明確にカスタマイズしていない限り、ノーティフィケーションに異なる色を使用しないでください。

ユーザへ配慮したノーティフィケーションの構築

スリムで、快適、上品に感じられるアプリを作成するために、注意深くノーティフィケーションを設計することが重要です。ノーティフィケーションはアプリからの通知を具体化し、アプリケーションの魅力に貢献します。不要や重要でないノーティフィケーションはユーザをイライラさせるため、慎重に使用してください。

ノーティフィケーションを表示するとき
人々に愛されるアプリケーションを作るには、ユーザの注意力や集中力が守られなければならないリソースであることを認識することが必要です。Androidのノーティフィケーションシステムは、ユーザの注意に対して通知の影響が最小になるように設計されていますが、ノーティフィケーションがユーザのタスクフローを止める可能性がある事実を認識していることが重要です。ノーティフィケーションを計画するときには、それがユーザの作業を中断するほど重要なものか考えてください。確信がない場合は、ユーザがノーティフィケーションを選択できるように、アプリのノーティフィケーション設定を使用するか、ノーティフィケーション優先度フラグを調整できるようにしてください。

一般的に、うまく動作するアプリはアクションに反応してのみ動作しますが、例外的にアプリが自発的なノーティフィケーションでユーザに割り込むべきケースがあります。

ノーティフィケーションは主にタイムセンシティブなイベントのために使用されるべきであり、中でもほかの人々が関係する同期イベントに使用すべきです例えば、チャット着信はリアルタイムな同期形式のコミュニケーションです:この場合、ほかのユーザはあなたの反応を積極的に待っています。カレンダーのイベントは、イベントが迫っている際にノーティフィケーションを使用し、ユーザの注意を引く必要があること、イベントが他の人に関係することなどから、ノーティフィケーションを使うべき良い例の一つです。


通知を表示してはいけないとき
しかし、ノーティフィケーションを使うべきでないケースも多くあります:
  • 特にユーザに向けられていない情報や全くタイムセンシティブでない情報を通知することは避けてください。例えば、一般的にソーシャルネットワークの中を流れる非同期で直接的でないアップデートによって作業が中断されるべきではありません。それらに関心があるユーザのために表示の有無をできるようにしてください。
  • 適切な新しい情報が現在の画面にある場合、通知を作成しないでください。その代わり、直接コンテキスト内で新しい情報をユーザに通知するためにアプリケーション自身のUIを使用してください。例えば、ほかのユーザと活発にチャットしている最中に、チャットアプリはシステム通知を作成してはいけません。
  • システムがユーザに関与せず、放っておいても解決することができるならば、保存や情報の同期やアプリケーションの更新のような低レベルの技術的な処理のためにユーザを中断させないでください。
  • 通知内容のない、アプリを広告するだけのノーティフィケーションを作成しないでください。ノーティフィケーションは状態をユーザに知らせるためのものであり、単にアプリを起動するために使用してはいけません。
  • 単にユーザにブランドを浸透させるために余計な通知をつくらないでください。このような通知は失望とユーザ離れを引き起こします。ユーザに更新情報を提供し、彼らとアプリをつなぎ止める最良の方法は、ホーム画面に置けるウィジェットを開発する事です。


ノーティフィケーションを利用した相互効果

ノーティフィケーションはノーティフィケーション領域のアイコンで表示され、ノーティフィケーションドロワーを開くことでアクセスすることができます。

ドロワ―内で、ノーティフィケーションは最新の通知が一番上にあるように時系列順にソートされます。ノーティフィケーションをタッチすると、ノーティフィケーションに一致する詳細なコンテンツに関連するアプリを開きます。ノーティフィケーションを左右にスワイプすることでドロワ―から削除できます。
進行中のノーティフィケーション
進行中のノーティフィケーションは、バックグラウンドで実行中のプロセスに関する情報をユーザに提供します。例えば、音楽プレーヤーはノーティフィケーションシステムで、現在演奏しているトラックを表示し、ユーザが停止するまで再生を続けます。また、ノーティフィケーションはファイルのダウンロードやビデオのエンコードのような長時間のタスク用に、ユーザにフィードバックを表示するために使用できます。進行中のノーティフィケーションはノーティフィケーションドロワーから削除することができません。

ダイアログとトーストはフィードバックがない通知のためのもの
アプリが表示中のスクリーンにいない場合、ダイアログやトーストを作成すべきではありません。ダイアログとトーストは、アプリ内部のアクションを利用するユーザに、即時応答としてのみ表示されるべきです。ダイアログとトーストに関する詳しいガイダンスは『確認と通知』を参照してください。



原文はこちら > Notifications

Except as noted, this content is licensed under Creative Commons Attribution 2.5. For details and restrictions, see the Content License.

Comments