1page.title=通知
2page.tags="notifications","design","L"
3@jd:body
4
5  <a class="notice-developers" href="{@docRoot}training/notify-user/index.html">
6  <div>
7    <h3>デベロッパー文書</h3>
8    <p>ユーザーに通知する</p>
9  </div>
10</a>
11
12<a class="notice-designers" href="notifications_k.html">
13  <div>
14    <h3>Android 4.4 以前での通知</h3>
15  </div>
16</a>
17
18<!-- video box -->
19<a class="notice-developers-video" href="https://www.youtube.com/watch?v=Uiq2kZ2JHVY">
20<div>
21    <h3>ビデオ</h3>
22    <p>DevBytes:Notifications in the Android L Developer Preview</p>
23</div>
24</a>
25
26<style>
27  .col-5, .col-6, .col-7 {
28    margin-left:0px;
29  }
30</style>
31
32<p>通知システムを使用すると、ユーザーは友人からの新しいチャット メッセージやカレンダー イベントなど、自分に関係のあるタイムリーなイベントについてアプリで常に通知を受けることができます。通知は、重要な出来事が起こるとすぐに知らせてくれるニュース チャンネルであり、ユーザーが意識していない間に出来事を時系列的に記録するログであると捉えることができます &mdash; さらに、すべての Android 端末で適宜同期されます。
33
34
35
36
37
38</p>
39
40<h4 id="New"><strong>Android 5.0 での新機能</strong></h4>
41
42<p>Android 5.0 において、通知は構造的に、視覚的に、機能的に重要なアップデートを受信します。
43</p>
44
45<ul>
46  <li>通知は、新しいマテリアル デザインのテーマにあわせて外観が変更されているところす。
47</li>
48  <li> 端末のロック画面で通知を利用できるようになりましたが、機密性の高いコンテンツはこれからも非表示にできます。
49
50</li>
51  <li>端末の使用中に受信した高優先度の通知において、ヘッドアップ通知と呼ばれる新しい形式が使用されるようになりました。
52</li>
53  <li>クラウド同期通知: 所有する Android 端末のどれかで通知を却下すると、他でも却下されます。
54
55</li>
56</ul>
57
58<p class="note"><strong>注</strong>: このバージョンの Android での通知設計は、従来のバージョンから大きく変わっています。
59
60これまでのバージョンの通知設計について詳しくは、<a href="./notifications_k.html">Android 4.4 以前での通知</a>をご覧ください。
61</p>
62
63<h2 id="Anatomy">通知の仕組み</h2>
64
65<p>このセクションでは、通知の基本パーツと各種端末における通知の表示について詳しく説明します。
66</p>
67
68<h3 id="BaseLayout">基本レイアウト</h3>
69
70<p>あらゆる通知の最低限の基本レイアウトは次のようになっています。</p>
71
72<ul>
73  <li> 通知の<strong>アイコン</strong>。このアイコンは通知元のアプリを示します。複数タイプの通知を生成するアプリでは、通知のタイプを示すことがあります。
74
75
76</li>
77  <li> 通知の<strong>タイトル</strong>と追加<strong>テキストメッセージ</strong>。
78</li>
79  <li> <strong>タイムスタンプ</strong>。</li>
80</ul>
81
82<p>従来のプラットフォーム バージョンの {@link android.app.Notification.Builder Notification.Builder} で作成された通知は、Android 5.0 でも同じように表示され、機能します。スタイルにいくらかの違いがありますが、システムが対処します。
83
84
85従来のバージョンの Android での通知について詳しくは、<a href="./notifications_k.html">Android 4.4 以前での通知</a>をご覧ください。
86
87</p></p>
88
89
90    <img style="margin:20px 0 0 0" src="{@docRoot}images/android-5.0/notifications/basic_combo.png" alt="" width="700px" />
91
92
93<div style="clear:both;margin-top:20px">
94      <p class="img-caption">
95      ユーザー フォトと通知アイコンを使用した、携帯端末での通知(左)と Wear での同じ通知(右)
96
97    </p>
98  </div>
99
100<h3 id="ExpandedLayouts">展開レイアウト</h3>
101
102
103<p>通知にどこまでの詳細を表示するかを選択できます。
104メッセージの最初の数行を表示したり、大きな画像プレビューを表示したりできます。
105追加情報はユーザーにより多くのコンテキストを提供し、&mdash;場合によっては&mdash;メッセージ全体が表示されることもあります。
106
107
108ユーザーは、ピンチ ズームまたは 1 本指のスワイプで、コンパクトなレイアウトと展開されたレイアウトを切り替えることができます。
109
110
111 1 つのイベントに関する通知に対し、Android では 3 種類の展開レイアウト(テキスト、受信トレイ、画像)をアプリケーションで使用できるようにしています。
112
113次の図に、1 つのイベントに関する通知が携帯端末(左)とウェアラブル(右)でどのように見えるかを示します。
114
115</p>
116
117<img style="margin-top:30px"
118src="{@docRoot}images/android-5.0/notifications/expandedtext_combo.png"
119  alt="" width="700px" height;="284px" />
120<img style="margin-top:30px"
121src="{@docRoot}images/android-5.0/notifications/stack_combo.png"
122  alt="" width="700px" height;="284px" />
123<img style="margin-top:30px"
124src="{@docRoot}images/android-5.0/notifications/ExpandedImage.png"
125    alt="" width="311px" height;="450px" />
126
127<h3 id="actions" style="clear:both; margin-top:40px">アクション</h3>
128
129<p>Android では、通知の最下部に表示されるオプションのアクションをサポートしています。ここに示されるアクションを使用することで、ユーザーは特定の通知に対するほとんどの一般的なタスクを通知シェードで処理でき、通知元のアプリケーションを開く必要はありません。これによりやり取りがスピードアップし、スワイプで却下もできることから、ユーザーは自分に関係のある通知に集中しやすくなります。
130
131
132
133
134
135</p>
136
137
138  <img src="{@docRoot}images/android-5.0/notifications/action_combo.png" alt="" width="700px" />
139
140
141
142<p style="clear:both">通知に含めるアクションの数はほどほどに抑えることをお勧めします。
143含めるアクションを増やすほど、わかりにくくなるからです。
144もっとも差し迫った意味のある重要なアクションだけにして、アクションの数を最小限に抑えてください。
145
146
147</p>
148
149<p>通知に対するアクションとして好ましい候補は次のとおりです。</p>
150
151<ul>
152  <li> 表示するコンテンツ タイプに欠かせず、よく使われ、典型的である
153
154  <li> ユーザーがタスクを手早く完了できる
155</ul>
156
157<p>次のようなアクションは避けてください。</p>
158
159<ul>
160  <li> あいまいである
161  <li> 通知のデフォルト アクションと同じである(「読む」や「開く」など)
162
163</ul>
164
165
166
167<p>アクションは 3 つまで指定でき、それぞれにアクションのアイコンと名前が付きます。
168
169 シンプルな基本レイアウトにアクションを追加すると、展開レイアウトがない場合でも、通知は展開可能になります。
170
171アクションは展開可能な通知にのみ表示され、それ以外では非表示になることから、ユーザーが通知から起動できるどのアクションについても、関連アプリケーションからも利用できるようにしてください。
172
173
174
175
176</p>
177
178<h2 style="clear:left">ヘッドアップ通知</h2>
179<div class="figure" style="width:311px">
180  <img src="{@docRoot}images/android-5.0/notifications/hun-example.png" alt="" width="311px" />
181  <p class="img-caption">
182    イマーシブ アプリの最上部に表示されたヘッドアップ通知の例(電話の着信、高優先度)
183
184
185  </p>
186</div>
187
188<p>優先度の高い通知が作成されると(右図)、その展開レイアウトが可能なアクションとともに短時間表示されます。
189
190</p>
191<p> この時間が過ぎると、通知は通知シェードに戻ります。
192通知の<a href="#correctly_set_and_manage_notification_priority">優先度</a>を示すフラグが高、最大、全画面の場合は、ヘッドアップ通知になります。
193</p>
194
195<p><b>ヘッドアップ通知にふさわしい例</b></p>
196
197<ul>
198  <li> 端末使用中の電話の着信</li>
199  <li> 端末使用中のアラーム</li>
200  <li> 新しい SMS メッセージ</li>
201  <li> 低バッテリ残量</li>
202</ul>
203
204<h2 style="clear:both" id="guidelines">ガイドライン</h2>
205
206
207<h3 id="MakeItPersonal">パーソナルにする</h3>
208
209<p>他人から送信されたアイテム(メッセージ、ステータス アップデートなど)の通知には、{@link android.app.Notification.Builder#setLargeIcon setLargeIcon()} を使用して相手の画像を含めます。
210
211また、通知のメタデータに相手に関する情報を添付します({@link android.app.Notification#EXTRA_PEOPLE} を参照)。
212</p>
213
214<p>通知のメインアイコンは表示され続けるため、ユーザーはそれをステータスバーに表示されるアイコンと関連付けることができます。
215
216</p>
217
218
219<img src="{@docRoot}images/android-5.0/notifications/Triggered.png" alt="" width="311px" />
220<p style="margin-top:10px" class="img-caption">
221  通知をトリガーした人と送信内容が表示された通知。
222</p>
223
224
225<h3 id="navigate_to_the_right_place">適切な画面へのナビゲーション</h3>
226
227<p>ユーザーが通知の本体(アクション ボタン以外)をタップしたら、アプリが開き、通知に表示されているデータの表示や操作ができる画面へ移動するようにします。
228
229
230ほとんどの場合、移動先はメッセージのような 1 つのデータアイテムの詳細表示になりますが、通知がスタックされている場合は概要ビューにすることも考えられます。
231
232アプリがユーザーをアプリの最上位レベルより下のどこかに移動する場合は、アプリのバックスタックにナビゲーションを挿入して、ユーザーがシステムの Back ボタンを押すと最上位レベルに戻れるようにします。
233
234詳しくは、<a href="{@docRoot}design/patterns/navigation.html#into-your-app">ナビゲーション</a>デザイン パターンの<em>ホーム画面ウィジェットと通知を経由するアプリへのナビゲーション</em>をご覧ください。
235
236</p>
237
238<h3 id="correctly_set_and_manage_notification_priority">通知優先度の適切な設定と管理
239
240</h3>
241
242<p>Android では、通知用の優先度フラグをサポートしています。このフラグを使用すると、通知の表示位置に他の通知との相対関係として影響を及ぼして、ユーザーが常に最重要の通知を真っ先に目にするようにできます。
243
244
245通知を投稿する際には、優先度を次の中から選べます。
246
247</p>
248<table>
249 <tr>
250    <td class="tab0">
251<p><strong>優先度</strong></p>
252</td>
253    <td class="tab0">
254<p><strong>用途</strong></p>
255</td>
256 </tr>
257 <tr>
258    <td class="tab1">
259<p><code>MAX</code></p>
260</td>
261    <td class="tab1">
262<p>重大で切迫した通知に対して使用します。緊急を要する状況、または特定のタスクを続ける前に解決する必要がある状況であることをユーザーに通告します。
263
264
265</p>
266</td>
267 </tr>
268 <tr>
269    <td class="tab1">
270<p><code>HIGH</code></p>
271</td>
272    <td class="tab1">
273<p>主に重要な情報に対して使用します。ユーザーが特に関心を持ちそうなメッセージ イベントやチャット イベントなどが該当します。通知の優先度を高く設定すると、ヘッドアップ通知を表示できます。
274
275</p>
276</td>
277 </tr>
278 <tr>
279    <td class="tab1">
280<p><code>DEFAULT</code></p>
281</td>
282    <td class="tab1">
283<p>ここで説明している他の優先度のどれにも該当しないすべての通知に対して使用します。</p>
284</td>
285 </tr>
286 <tr>
287    <td class="tab1">
288<p><code>LOW</code></p>
289</td>
290    <td class="tab1">
291<p>ユーザーに知らせたいがそれほど緊急ではない通知に対して使用します。
292低優先度の通知は一般にリストの末尾に表示され、公の、または間接的なソーシャル アップデートなどに適しています。
293
294ユーザーがこうした通知の設定をしていても、急を要するコミュニケーションや直接的なコミュニケーションより優先されないようにする必要があります。
295
296
297</p>
298</td>
299 </tr>
300 <tr>
301    <td class="tab1">
302<p><code>MIN</code></p>
303</td>
304    <td class="tab1">
305<p>天気予報や周辺位置情報のようなコンテキスト的またはバックグラウンド的な情報に対して使用します。最小優先度の通知はステータスバーに表示されません。
306
307ユーザーは通知シェードを展開したときにその存在に気づきます。
308</p>
309</td>
310 </tr>
311</table>
312
313
314<h4 id="how_to_choose_an_appropriate_priority"><strong>適切な優先度の選び方</strong>
315
316</h4>
317
318<p><code>DEFAULT</code>、<code>HIGH</code>、<code>MAX</code> は中断を伴う優先度レベルで、ユーザーによるアクティビティに割り込むリスクがあります。
319
320アプリのユーザーに不快に思われないようにするため、割り込みを伴う優先度レベルの通知は次のような場合に限定してください。
321</p>
322
323<ul>
324  <li> 他人が絡む</li>
325  <li> 急を要する</li>
326  <li> 実世界におけるユーザーの行動が直ちに変わりうる</li>
327</ul>
328
329<p><code>LOW</code> や <code>MIN</code> に設定されている通知も、ユーザーにとって価値がある可能性はあります。
330ほとんどとは言わないまでも、多くの通知は、ユーザーの注意を直ちに引く、またはユーザーの手首に振動を与える必要はありませんが、ユーザーがその通知を見ることにしたときに価値があると気づくような情報が含まれている必要があります。
331
332
333優先度が <code>LOW</code> や <code>MIN</code> の通知の条件は以下のとおりです。
334</p>
335
336<ul>
337  <li> 他人が絡まない</li>
338  <li> 急を要さない</li>
339  <li> ユーザーが興味を持ちうる内容が含まれているが、手が空いたときに参照することにして問題ない
340</li>
341</ul>
342
343
344  <img src="{@docRoot}images/android-5.0/notifications/notifications_pattern_priority.png" alt="" width="700" />
345
346
347<h3 style="clear:both" id="set_a_notification_category">通知カテゴリの設定
348</h3>
349
350<p>通知が、あらかじめ定義されているカテゴリ(下を参照)のどれかに該当する場合は、それに沿って割り当てます。
351
352通知シェード(やその他の通知リスナー)などの各種システム UI は、評価やフィルタリングの判断にこの情報を使用することがあります。
353
354</p>
355<table>
356 <tr>
357    <td>
358<p><code><a
359href="/reference/android/app/Notification.html#CATEGORY_CALL">CATEGORY_CALL</a></code></p>
360</td>
361    <td>
362<p>電話(ビデオまたは音声)の着信またはそれに類する同期通信の要求
363</p>
364</td>
365 </tr>
366 <tr>
367    <td>
368<p><code><a
369href="/reference/android/app/Notification.html#CATEGORY_MESSAGE">CATEGORY_MESSAGE</a></code></p>
370</td>
371    <td>
372<p>直接メッセージ(SMS、インスタントメッセージなど)の受信</p>
373</td>
374 </tr>
375 <tr>
376    <td>
377<p><code><a
378href="/reference/android/app/Notification.html#CATEGORY_EMAIL">CATEGORY_EMAIL</a></code></p>
379</td>
380    <td>
381<p>非同期バルク メッセージ(メール)</p>
382</td>
383 </tr>
384 <tr>
385    <td>
386<p><code><a
387href="/reference/android/app/Notification.html#CATEGORY_EVENT">CATEGORY_EVENT</a></code></p>
388</td>
389    <td>
390<p>カレンダー イベント</p>
391</td>
392 </tr>
393 <tr>
394    <td>
395<p><code><a
396href="/reference/android/app/Notification.html#CATEGORY_PROMO">CATEGORY_PROMO</a></code></p>
397</td>
398    <td>
399<p>販促または広告</p>
400</td>
401 </tr>
402 <tr>
403    <td>
404<p><code><a
405href="/reference/android/app/Notification.html#CATEGORY_ALARM">CATEGORY_ALARM</a></code></p>
406</td>
407    <td>
408<p>アラームまたはタイマー</p>
409</td>
410 </tr>
411 <tr>
412    <td>
413<p><code><a
414href="/reference/android/app/Notification.html#CATEGORY_PROGRESS">CATEGORY_PROGRESS</a></code></p>
415</td>
416    <td>
417<p>長時間実行のバックグラウンド処理の進捗</p>
418</td>
419 </tr>
420 <tr>
421    <td>
422<p><code><a
423href="/reference/android/app/Notification.html#CATEGORY_SOCIAL">CATEGORY_SOCIAL</a></code></p>
424</td>
425    <td>
426<p>ソーシャル ネットワークまたは共有アップデート</p>
427</td>
428 </tr>
429 <tr>
430    <td>
431<p><code><a
432href="/reference/android/app/Notification.html#CATEGORY_ERROR">CATEGORY_ERROR</a></code></p>
433</td>
434    <td>
435<p>バックグラウンド処理または認証ステータスにおけるエラー</p>
436</td>
437 </tr>
438 <tr>
439    <td>
440<p><code><a
441href="/reference/android/app/Notification.html#CATEGORY_TRANSPORT">CATEGORY_TRANSPORT</a></code></p>
442</td>
443    <td>
444<p>再生のためのメディア転送コントロール</p>
445</td>
446 </tr>
447 <tr>
448    <td>
449<p><code><a
450href="/reference/android/app/Notification.html#CATEGORY_SYSTEM">CATEGORY_SYSTEM</a></code></p>
451</td>
452    <td>
453<p>システムまたは端末のステータス アップデート。システム用に予約済み。</p>
454</td>
455 </tr>
456 <tr>
457    <td>
458<p><code><a
459href="/reference/android/app/Notification.html#CATEGORY_SERVICE">CATEGORY_SERVICE</a></code></p>
460</td>
461    <td>
462<p>バックグラウンド サービス実行中の表示。</p>
463</td>
464 </tr>
465 <tr>
466    <td>
467<p><code><a
468href="/reference/android/app/Notification.html#CATEGORY_RECOMMENDATION">CATEGORY_RECOMMENDATION</a></code></p>
469</td>
470    <td>
471<p>1 つの事項に対する具体的でタイムリーな推奨。たとえば、ニュースアプリがユーザーが次に読みたいのではないかと予想した記事を推奨するなど。
472
473</p>
474</td>
475 </tr>
476 <tr>
477    <td>
478<p><code><a
479href="/reference/android/app/Notification.html#CATEGORY_STATUS">CATEGORY_STATUS</a></code></p>
480</td>
481    <td>
482<p>端末やコンテキスト ステータスに関する進行中情報。</p>
483</td>
484 </tr>
485</table>
486
487<h3 id="summarize_your_notifications">通知の概要</h3>
488
489<p>アプリで特定の新しい通知を送信しようとしたときに同じタイプの通知が既に保留されていた場合は、それらを統合してそのアプリに対する 1 つの概要通知にします。新しいオブジェクトは作成しないでください。
490
491</p>
492
493<p>概要通知は概要説明を作成し、特定タイプの通知がいくつ保留になっているのかがユーザーにわかるようにします。
494
495</p>
496
497<div class="col-6">
498
499<p><strong>非推奨</strong></p>
500  <img src="{@docRoot}images/android-5.0/notifications/Summarise_Dont.png" alt="" width="311px" />
501</div>
502
503<div>
504<p><strong>推奨</strong></p>
505
506  <img src="{@docRoot}images/android-5.0/notifications/Summarise_Do.png" alt="" width="311px" />
507</div>
508
509<p style="clear:left; padding-top:30px; padding-bottom:20px">概要を構成している個々の通知に関する詳細は、展開ダイジェスト レイアウトを使用して提示できます。
510
511このアプローチにより、ユーザーはどの通知が保留中か、そして関連アプリで詳しく読もうと思うほどそれらに興味があるかを把握しやすくなります。
512
513
514
515</p>
516<div class="col-6">
517  <img src="{@docRoot}images/android-5.0/notifications/Stack.png" style="margin-bottom:20px" alt="" width="311px" />
518  <p class="img-caption">
519  通知の展開された概要と折りたたまれた概要(<code>InboxStyle</code> を使用)
520  </p>
521</div>
522
523<h3 style="clear:both" id="make_notifications_optional">通知をオプションにする
524</h3>
525
526<p>ユーザーは常に通知を制御できる必要があります。アプリケーションの設定に通知設定アイテムを追加して、ユーザーがアプリの通知を無効にしたり、警告音や振動を使用するかどうかなどのアラート設定を変更したりできるようにしてください。
527
528
529
530</p>
531
532<h3 id="use_distinct_icons">見分けやすいアイコンにする</h3>
533<p>現在保留になっているのがどのタイプの通知なのか、ユーザーが通知エリアを一目で見分けられることが必要です。
534
535</p>
536
537<div class="figure">
538  <img src="{@docRoot}images/android-5.0/notifications/ProductIcons.png" alt="" width="420" />
539</div>
540
541  <div><p><strong>推奨</strong></p>
542    <p>Android アプリが既に提供している通知アイコンを見ながら、独自アプリ用に見かけの十分異なるアイコンを作成する。
543
544</p>
545
546    <p><strong>推奨</strong></p>
547    <p>小さなアイコン用の適切な<a href="/design/style/iconography.html#notification">通知アイコン スタイル</a>と、アクション アイコン用の Material Light <a href="/design/style/iconography.html#action-bar">アクションバー アイコンスタイル</a>を使う。
548
549
550
551</p>
552<p ><strong>推奨</strong></p>
553<p >アイコンの見た目はシンプルに保ち、細かくしすぎて見にくくならないようにする。
554</p>
555
556  <div><p><strong>非推奨</strong></p>
557    <p>なんらかの追加アルファ(暗転やフェード)を小さなアイコンやアクション アイコンに配置する。エッジはアンチ エイリアス処理できますが、Android ではこれらのアイコンをマークとして使用するため(つまり、アルファ チャンネルのみ使用)、画像は概して完全不透明で描画されます。
558
559
560
561
562</p>
563
564</div>
565<p style="clear:both"><strong>非推奨</strong></p>
566
567<p>アプリを他と色で区別する。通知アイコンは、背景が透明な白に限定してください。
568</p>
569
570
571<h3 id="pulse_the_notification_led_appropriately">通知 LED を適切に点灯させる
572</h3>
573
574<p>多くの Android 端末には通知 LED が用意されており、スクリーンがオフのときでもユーザーに引き続きイベントを通知するために使用されます。
575
576優先度が <code>MAX</code>、<code>HIGH</code>、<code>DEFAULT</code> の通知を LED 点灯するようにし、優先度の低い通知(<code>LOW</code> と <code>MIN</code>)は点灯しないようにしてください。
577
578
579</p>
580
581<p>ユーザーによる通知の制御が LED にも及ぶようにしてください。DEFAULT_LIGHTS を使用すると、LED が白く点灯します。
582
583ユーザーが明示的にカスタマイズしない限り、通知では別の色を使用しないでください。
584
585</p>
586
587<h2 id="building_notifications_that_users_care_about">ユーザーが気にする通知の作成
588</h2>
589
590<p>ユーザーに愛されるアプリを開発するためには、通知を入念にデザインすることが重要です。通知はアプリの声を体現するものであり、アプリの個性の一部です。
591
592
593望まれない通知や重要ではない通知がユーザーの邪魔になったり、アプリへの注目を集める意図が逆にユーザーに不快に思われたりしかねませんので、通知は適切に使用してください。
594
595
596</p>
597
598<h3 id="when_to_display_a_notification">通知を表示すべきケース</h3>
599
600<p>ユーザーが楽しんで使えるアプリケーションを開発するには、ユーザーの注目や関心は保護すべきリソースであるという認識が重要です。
601
602Android の通知システムは、ユーザーの注意に対する通知のインパクトを最小限に抑える設計になっていますが、通知がユーザーのタスクフローに割り込むという事実を意識することがやはり重要です。通知を盛り込む予定の場合は、それが割り込みに値するほど重要かどうかを自問してください。
603
604
605
606
607
608
609確信が持てない場合は、ユーザーがアプリの通知設定を使用して通知をコントロールできるようにするか、通知のフラグを <code>LOW</code> か <code>MIN</code> に設定してユーザーがしている別のことを邪魔しないようにします。
610
611
612
613</p>
614
615  <img src="{@docRoot}images/android-5.0/notifications/TimeSensitive.png" alt="" width="311px" />
616  <p style="margin-top:10px" class="img-caption">
617   急を要する通知の例
618  </p>
619
620<p>概して、適切に振る舞うアプリは話しかけられたときだけ口を開きますが、求められていない通知でユーザーの作業に割り込むことにメリットがあるケースもいくつか存在します。
621</p>
622
623<p>通知は主に<strong>急を要するイベント</strong>で、特に<strong>他人が絡む</strong>同期イベントで使用します。
624たとえば、受信チャットはリアルタイムの同期コミュニケーションです。
625
626他人が応答を能動的に待っています。
627カレンダー イベントも、通知でユーザーの注目を引くタイミングに関する好例です。なぜなら、そうしたイベントは差し迫っており、往々にして他人が絡みます。
628
629
630</p>
631
632<h3 style="clear:both" id="when_not_to_display_a_notification">通知を表示すべきでないケース
633</h3>
634
635<div class="figure" style="margin-top:60px">
636  <img src="{@docRoot}images/android-5.0/notifications/AntiSample1.png" alt="" width="311px" />
637</div>
638
639<p>以上を除く多くの場合、通知の使用は適切ではありません。</p>
640
641<ul>
642  <li> 明示的にユーザー宛てではない情報や、それほど急を要さない情報は、ユーザーへの通知を避けます。
643
644たとえば、ソーシャル ネットワーク経由で流れてくる非同期の間接的なアップデートは、概してリアルタイムの割り込みにふさわしくありません。
645
646
647それらに本当に関心のあるユーザーが選択できるようにします。
648</li>
649  <li> 関連する新しい情報が現在画面に表示されている場合は、通知を作成しないようにします。
650その代わり、アプリケーションそのものの UI を使用して、ユーザーに情報をコンテキスト内で直接通知します。
651
652
653  たとえば、チャット アプリケーションは、ユーザーが他のユーザーとチャットしている最中にシステム通知を作成しないようにします。
654</li>
655  <li> 情報の保存や同期、アプリケーションのアップデートなど、低レベルの技術的な通知については、アプリやシステムがユーザーの介入なしに問題を解決できる場合は割り込まないようにします。
656
657</li>
658  <li> アプリケーションがユーザーの介入なしにエラーから復旧できる場合は、そのようなエラーの通知で割り込まないでください。
659
660</li>
661  <li> 通知にふさわしい内容がなく、アプリを宣伝するだけの通知は、作成しないようにします。通知は、有益でタイムリーな新しい情報を提供するものであり、アプリを起動するためだけには使用しないでください。
662
663
664
665</li>
666  <li> ブランドをユーザーの目の前に提示するだけの表面的な通知を作成しないようにします。
667
668  そうした通知はユーザーにフラストレーションを与え、アプリが使われなくなります。アップデートされた情報を少しだけ提供し、ユーザーをアプリにつなぎ止める最適な方法は、ホームスクリーンに配置できるウィジェットを開発することです。
669
670
671
672
673</li>
674</ul>
675
676<h2 style="clear:left" id="interacting_with_notifications">通知の操作
677</h2>
678
679<p>通知はステータスバーにアイコンとして示され、通知ドロワーを開いてアクセスできます。
680
681</p>
682
683<p>通知をタップすると関連アプリが開き、その通知に対応する詳細なコンテンツに移動します。通知上で左か右にスワイプされた通知は、ドロワーから削除されます。
684
685</p>
686
687<h3 id="ongoing_notifications">進行中通知</h3>
688<div class="figure" style="width:311px">
689  <img src="{@docRoot}images/android-5.0/notifications/MusicPlayback.png" alt="" width="311px" />
690      <p class="img-caption">
691    音楽再生の進行中通知
692  </p>
693</div>
694<p>進行中通知は、バックグラウンドで進行中の処理に関する情報をユーザーに伝えます。たとえば、音楽プレイヤーは通知システムで現在再生中のトラックを示し、ユーザーが再生を停止するまで通知を継続します。
695
696
697
698進行中通知には、ファイルのダウンロードやビデオのエンコードなど、時間のかかるタスクに対するフィードバックをユーザーに示すこともできます。
699
700ユーザーは、進行中通知を通知ドロワーから手動では削除できません。
701</p>
702
703<h3 id="ongoing_notifications">メディア再生</h3>
704<p>Android 5.0 では、廃止された {@link android.media.RemoteControlClient} クラスの転送コントロールがロック画面に表示されません。
705ただし、通知が表示されるため、<em></em>ユーザーがロック状態から再生をコントロールするための主な手段は、現状では各アプリの再生通知です。
706
707この動作により、アプリは表示するボタンとその表示形態についてより多くをコントロールでき、画面がロックされているかどうかによらない一貫した操作感をユーザーに提供できます。
708
709
710</p>
711
712<h3 style="clear:both"
713id="dialogs_and_toasts_are_for_feedback_not_notification">ダイアログとトースト
714</h3>
715
716<p>アプリが画面上に表示されていないときにダイアログやトーストを作成しないようにしてください。
717ダイアログやトーストの表示は、アプリでのアクションに対するユーザーへの即座の応答のみにします。ダイアログやトーストの使用の目安については、<a href="/design/patterns/confirming-acknowledging.html">確認と通知</a>をご覧ください。
718
719
720
721</p>
722
723<h3>評価と並べ替え</h3>
724
725<p>通知はニュースであるため、基本的には新しい順に表示され、アプリが通知に指定した<a href="#correctly_set_and_manage_notification_priority">優先度</a>に基づき特別な配慮がなされます。
726
727
728</p>
729
730<p>通知はロック画面の重要な一部であり、端末のディスプレイがオンになるたび前面に出ます。
731
732ロック画面のスペースは限られているため、もっとも緊急か重要な通知を識別することが何より重要になります。
733
734この理由から、Android では洗練された通知並べ替えアルゴリズムを採用しており、その中で以下を考慮しています。
735
736</p>
737
738<ul>
739  <li> タイムスタンプと、アプリが指定した優先度。</li>
740  <li> その通知が最近ユーザーに音または振動で配信されたかどうか。
741(つまり、電話が音を立てるだけの場合、ユーザーが「何が起こったのか」を知りたくなったら、ロック画面はそれに一目でわかる答えを示すべきです)。
742
743
744</li>
745  <li> {@link android.app.Notification#EXTRA_PEOPLE} を使用して通知に添付された人、特にその人が「お気に入り」の連絡先かどうか。
746</li>
747</ul>
748
749<p>この並べ替え機能を最大限に生かすには、リストにおける特定の位置付けを狙うのではなく、ユーザーの操作感に注目します。
750
751</p>
752
753  <img src="{@docRoot}images/android-5.0/notifications/AntiSample3.png" alt="" width="700px" />
754
755  <p class="img-caption" style="margin-top:10px">Gmail 通知の優先度はデフォルトであり、そのため Hangouts などのインスタントメッセージ アプリからのメッセージの下に並びますが、新しいメッセージが来たときは一時的にそれより先に表示されます。
756
757
758
759
760  </p>
761
762
763<h3>ロック画面上</h3>
764
765<p>通知はロック画面に表示されるため、ユーザーのプライバシーはとりわけ重要な考慮対象です。
766
767通知には機密性の高い情報が含まれることが多く、端末を手に取ってディスプレイをオンにした誰にでも見られるようにすべきではありません。
768
769</p>
770
771<ul>
772  <li> セキュリティ保護されたロック画面(PIN、パターン、パスワードなど)を持つ端末の場合、インターフェースには公開部分と秘密部分があります。
773公開インターフェースはセキュリティ保護されたロック画面に表示でき、誰でも見られます。
774秘密インターフェースはロック画面の背後にある世界で、ユーザーが端末にサインインして初めて表示されます。
775</li>
776</ul>
777
778<h3>セキュリティ保護されたロック画面に表示される情報のユーザー コントロール</h3>
779<div class="figure" style="width:311px">
780  <img src="{@docRoot}images/android-5.0/notifications/LockScreen@2x.png" srcset="{@docRoot}images/android-5.0/notifications/LockScreen.png 1x" alt="" width="311px" />
781      <p class="img-caption">
782    ロック画面上の通知。コンテンツはユーザーが端末をロック解除した後に表示されます。
783  </p>
784</div>
785
786<p>セキュリティ保護されたロック画面をセットアップする際、ユーザーはセキュリティ保護されたロック画面には表示しない機密性の高い情報を選ぶことができます。
787その場合、システム UI は通知の<em>可視性レベル</em>を考慮して、表示しても問題ない情報を識別します。
788
789</p>
790<p> 可視性レベルをコントロールするには、<code><a
791href="/reference/android/app/Notification.Builder.html#setVisibility(int)">Notification.Builder.setVisibility()</a></code> を呼び出し、次の値のどれかを指定します。
792
793</p>
794
795<ul>
796  <li><code><a
797href="/reference/android/app/Notification.html#VISIBILITY_PUBLIC">VISIBILITY_PUBLIC</a></code>。通知の内容がすべて表示されます。
798
799  可視性レベルが指定されていない場合は、これがシステム デフォルトです。</li>
800  <li><code><a
801href="/reference/android/app/Notification.html#VISIBILITY_PRIVATE">VISIBILITY_PRIVATE</a></code>。ロック画面に、その通知の存在に関する基本情報、たとえば通知のアイコンやそれを提示したアプリ名などを表示します。
802
803通知のその他の詳細は表示されません。いくつか留意すべき点があります。
804
805  <ul>
806    <li> システムがセキュリティ保護されたロック画面に表示するためとして公開バージョンの通知を別に提供する場合は、<code><a
807href="/reference/android/app/Notification.html#publicVersion">Notification.publicVersion</a></code> フィールドに代替 Notification オブジェクトを用意します。
808
809
810
811    <li> この設定により、アプリは利便性はあるが個人情報は明かさない編集されたバージョンのコンテンツを作成できるようになります。
812SMS アプリを例に考えて見ましょう。通知には SMS のテキストメッセージ、送信者の名前、連絡先アイコンが含まれています。この通知は <code>VISIBILITY_PRIVATE</code> であるべきですが、<code>publicVersion</code> にも "3 件の新しいメッセージ" のような個人を特定する詳細なしでも利便性のある情報を盛り込めます。
813
814
815
816
817  </ul>
818  </li>
819  <li><code><a
820href="/reference/android/app/Notification.html#VISIBILITY_SECRET">Notification.VISIBILITY_SECRET</a></code>。必要最小限の情報のみ表示し、通知のアイコンさえありません。
821</li>
822</ul>
823<h2 style="clear:both" id="notifications_on_android_wear">Android Wear での通知
824</h2>
825
826<p>通知とそのアクション<em></em>は、デフォルトで Wear 端末にブリッジされます。デベロッパーは、どの通知が電話から腕時計へ、またはその逆へブリッジするかを制御できます。
827
828
829また、どのアクションがブリッジするかも制御できます。タップ 1 回では完了しないアクションがアプリに含まれている場合は、そうしたアクションを Wear 通知では隠すか Wear アプリに接続することを検討してください。いずれにしても、ユーザーがアクションを腕時計で完了できるようにします。
830
831
832
833
834
835</p>
836
837<h4>通知とアクションのブリッジ</h4>
838
839<p>電話のような接続状態の端末は、通知を Wear 端末にブリッジして、通知が腕時計に表示されるようにできます。
840同様に、アクションもブリッジして、ユーザーが通知に Wear 端末で直接対処できるようにできます。
841</p>
842
843<p><strong>ブリッジする</strong></p>
844
845<ul>
846  <li> 新しいインスタントメッセージ</li>
847  <li> +1、いいね、心拍数のようなタップ 1 回のアクション</li>
848</ul>
849
850<img src="{@docRoot}images/android-5.0/notifications/WearBasic.png" width="156px" height="156px" alt="" />
851
852<p><strong>ブリッジしない</strong></p>
853
854<ul>
855  <li> 新着ポッドキャストの通知</li>
856  <li> 腕時計ではできない機能にマップされたアクション</li>
857</ul>
858
859
860
861<p><h4>Wear 専用に定義されたアクション</h4></p>
862
863<p>Wear でのみできるアクションがいくつかあります。次に例を挙げます。</p>
864
865<ul>
866  <li> 「Be right back」 のような定形応答のクイックリスト</li>
867  <li> 携帯電話で開く</li>
868  <li> 音声入力画面を起動する 「Comment」 アクションや 「Reply」 アクション</li>
869  <li> Wear 専用アプリを起動するアクション</li>
870</ul>
871
872<img src="{@docRoot}images/android-5.0/notifications/ReplyAction.png" width="156px" height="156px" alt="" />
873