summaryrefslogtreecommitdiffstats
path: root/docs/html-intl/intl/ko/design/patterns
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html-intl/intl/ko/design/patterns')
-rw-r--r--docs/html-intl/intl/ko/design/patterns/confirming-acknowledging.jd70
-rw-r--r--docs/html-intl/intl/ko/design/patterns/navigation.jd213
-rw-r--r--docs/html-intl/intl/ko/design/patterns/notifications.jd872
3 files changed, 1155 insertions, 0 deletions
diff --git a/docs/html-intl/intl/ko/design/patterns/confirming-acknowledging.jd b/docs/html-intl/intl/ko/design/patterns/confirming-acknowledging.jd
new file mode 100644
index 0000000..2444b0e
--- /dev/null
+++ b/docs/html-intl/intl/ko/design/patterns/confirming-acknowledging.jd
@@ -0,0 +1,70 @@
+page.title=확인 및 승인하기
+page.tags=dialog,toast,notification
+@jd:body
+
+<p>사용자가 앱에서 작업을 호출할 때와 같은 몇몇 상황에서는 텍스트를 통해 해당 작업을 <em>확인</em>하거나 <em>승인</em>하는 것이 좋습니다.</p>
+
+<div class="layout-content-row">
+ <div class="layout-content-col span-6">
+ <img src="{@docRoot}design/media/confirm_ack_confirming.png">
+ <p><strong>확인하기</strong>란, 사용자에게 방금 호출한 작업을 정말로 진행할 것인지 묻는 것입니다. 경우에 따라 확인은 고려해야 할 작업과 관련된 경고 또는 중요한 정보와 함께 표시됩니다.</p>
+ </div>
+ <div class="layout-content-col span-6">
+ <img src="{@docRoot}design/media/confirm_ack_acknowledge.png">
+ <p><strong>승인하기</strong>란, 사용자에게 방금 호출한 작업이 완료되었음을 알리는 텍스트를 표시하는 것입니다. 이는 시스템이 수행하는 암시적인 작업에 대한 불확실성을 제거해 줍니다. 경우에 따라 승인은 작업의 실행을 취소하는 옵션과 함께 표시됩니다.</p>
+ </div>
+</div>
+
+<p>이런 방식의 사용자와의 소통은 이미 일어난 일이나 일어날 일에 대한 불확실성을 완화시키는 데 도움이 될 수 있습니다. 또한, 확인하기 또는 승인하기는 사용자가 후회할지도 모르는 실수를 미연에 방지합니다.</p>
+
+<h2>사용자 작업을 확인 또는 승인하기 적절한 경우</h2>
+<p>모든 작업에 확인 또는 승인이 적합한 것은 아닙니다. 다음 순서도를 참고하여 디자인을 결정하는 데 도움을 받으세요.</p>
+<img src="{@docRoot}design/media/confirm_ack_flowchart.png">
+
+<h2>확인하기</h2>
+<div class="layout-content-row">
+ <div class="layout-content-col span-6">
+ <h4>예: Google Play 도서</h4>
+ <img src="{@docRoot}design/media/confirm_ack_ex_books.png">
+ <p>이 예에서는 사용자가 Google Play 라이브러리에서 도서 삭제를 요청했습니다. 이 작업을 확인하기 위해 <a href="{@docRoot}design/building-blocks/dialogs.html#alerts">경고</a>가 나타납니다. 왜냐하면 해당 도서를 더 이상 어떠한 기기에서도 이용할 수 없다는 것을 알려야 하기 때문입니다.</p>
+ <p>확인 대화 상자를 작성할 때, 요청된 작업을 반향하여 제목을 의미 있게 만듭니다.</p>
+ </div>
+ <div class="layout-content-col span-7">
+ <h4>예: Android Beam</h4>
+ <img src="{@docRoot}design/media/confirm_ack_ex_beam.png">
+ <p>확인을 두 개의 버튼을 포함한 경고로 표시할 필요는 없습니다. Android Beam을 시작하면 사용자에게 공유할 콘텐츠를 터치하라는 메시지가 표시됩니다(이 예의 경우 사진). 진행하지 않기로 결정한 경우에는 휴대폰에서 벗어나면 됩니다.</p>
+ </div>
+</div>
+
+<h2>승인하기</h2>
+<div class="layout-content-row">
+ <div class="layout-content-col span-6">
+ <h4>예: 방치된 Gmail 초안 저장</h4>
+ <img src="{@docRoot}design/media/confirm_ack_ex_draftsave.png">
+ <p>이 예에서는 사용자가 Gmail의 메일 작성 화면에서 뒤로 또는 위로 탐색을 수행하면 예상치 못한 일이 일어나는데, 그건 바로 현재 초안이 자동으로 저장되는 것입니다. 승인은 알림 메시지 형식으로 나타납니다. 그리고 몇 초 후 사라집니다.</p>
+ <p>이때, 저장이 사용자가 아닌 앱에 의해 이뤄졌기 때문에 실행 취소는 적합하지 않습니다. 그리고 초안 목록으로 이동하면 쉽고 빠르게 메일 작성을 재개할 수 있습니다.</p>
+
+ </div>
+ <div class="layout-content-col span-6">
+ <h4>예: Gmail 대화 삭제</h4>
+ <img src="{@docRoot}design/media/confirm_ack_draft_deleted.png">
+ <p>사용자가 Gmail 목록에서 대화를 삭제하면, 승인이 실행 취소 옵션과 함께 표시됩니다. 승인은 사용자가 목록을 스크롤하는 등의 관련 없는 작업을 수행하기 전까지 그대로 남아 있습니다.</p>
+ </div>
+</div>
+
+<h2>확인 또는 승인이 필요 없는 경우</h2>
+<div class="layout-content-row">
+ <div class="layout-content-col span-6">
+ <h4>예: +1 누르기</h4>
+ <img style="padding: 33px 0 30px;" src="{@docRoot}design/media/confirm_ack_ex_plus1.png">
+ <p><strong>확인이 필요 없습니다</strong>. 사용자가 실수로 +1을 누른 경우, 별문제가 되지 않습니다. 버튼을 다시 터치하여 해당 작업의 실행을 취소하면 됩니다.</p>
+ <p><strong>승인이 필요 없습니다</strong>. 사용자는 +1 버튼이 바운스되고 빨간색으로 바뀌는 것을 볼 수 있습니다. 이는 매우 분명한 신호입니다.</p>
+ </div>
+ <div class="layout-content-col span-7">
+ <h4>예: 홈 화면에서 앱 제거하기</h4>
+ <img src="{@docRoot}design/media/confirm_ack_ex_removeapp.png">
+ <p><strong>확인이 필요 없습니다</strong>. 이는 의도적인 작업으로, 사용자는 상대적으로 크고 고립된 대상으로 항목을 끌어다 놓을 것입니다. 따라서 실수가 발생할 가능성이 매우 낮습니다. 하지만 사용자가 이 결정을 후회하는 경우, 다시 복구하는 데는 몇 초면 됩니다.</p>
+ <p><strong>승인이 필요 없습니다</strong>. 사용자는 앱이 홈 화면에서 사라진 것을 알게 되는데, 이는 앱을 외부로 끌어서 화면에서 사라지게 했기 때문입니다.</p>
+
+ </div>
+</div>
diff --git a/docs/html-intl/intl/ko/design/patterns/navigation.jd b/docs/html-intl/intl/ko/design/patterns/navigation.jd
new file mode 100644
index 0000000..8e5c30b
--- /dev/null
+++ b/docs/html-intl/intl/ko/design/patterns/navigation.jd
@@ -0,0 +1,213 @@
+page.title=뒤로 및 위로 탐색 기능이 포함된 탐색
+page.tags="navigation","activity","task","up navigation","back navigation"
+page.image=/design/media/navigation_between_siblings_gmail.png
+@jd:body
+
+<a class="notice-developers" href="{@docRoot}training/implementing-navigation/index.html">
+ <div>
+ <h3>개발자 문서</h3>
+ <p>효과적인 탐색 구현하기</p>
+ </div>
+</a>
+
+<p itemprop="description">일관적인 탐색 기능은 전반적인 사용자 환경에 필수적인 요소입니다. 일관성 없고 예상대로 진행되지 않는 기본 탐색은
+사용자에게 많은 실망을 줍니다. Android 3.0에서는
+글로벌 탐색 동작에 중요한 변경 사항을 도입했습니다. 뒤로 및 위로 탐색에 대한
+가이드라인을 꼼꼼히 따르면 사용자가 예상 가능하고 신뢰할 수 있는 탐색 기능이 탑재된 앱을 만들 수 있습니다.</p>
+<p>Android 2.3 이하 버전에서는
+앱 내 탐색 기능을 지원하기 위해 시스템의 <em>뒤로</em> 버튼에 의존했습니다. Android 3.0에서는 작업 모음을 도입함으로써 앱 아이콘 및 왼쪽 방향 캐럿으로 이루어진 2차 탐색 메커니즘인
+<em>위로</em> 버튼이 추가되었습니다.</p>
+
+<img src="{@docRoot}design/media/navigation_with_back_and_up.png">
+
+<h2 id="up-vs-back">위로 및 뒤로 비교</h2>
+
+<p>위로 버튼은 화면
+간의 계층적 관계를 기반으로 앱 내에서 탐색할 때 사용됩니다. 예를 들어, 화면 A에 표시된 항목 목록에서 항목을 선택하면 항목에 대한 세부 정보를 표시하는 화면 B로 이동하게 되는데, 이때
+화면 B는 화면 A로
+돌아가는 위로 버튼을 제공해야 합니다.</p>
+<p>화면이 앱의 최상단에 있는 경우(즉, 앱의 홈인 경우), 위로
+버튼이 표시되지 않아야 합니다.</p>
+
+<p>시스템의 뒤로 버튼은 사용자가 최근에 작업한 화면
+기록을 역순으로 탐색할 때 사용됩니다. 일반적으로 이 버튼은 앱의 계층 구조가 아닌 화면
+간의 일시적인 관계를 기반으로 합니다.</p>
+
+<p>또한, 앞서 본 화면이 현재 화면의 계층적 상위 화면일 경우
+뒤로 버튼을 누르는 것과 위로 버튼을 누르는 것의 결과가 동일하며, 이는 흔하게
+발생하는 동작입니다. 하지만 사용자가 앱 내에 머무는 위로 버튼과 달리, 뒤로
+버튼을 누르면 홈 화면 또는 다른 앱으로 돌아갈 수 있습니다.</p>
+
+<img src="{@docRoot}design/media/navigation_up_vs_back_gmail.png">
+
+<p>뒤로 버튼은 화면 간 탐색과 직접적으로 관련 없는 몇 가지 동작도 지원합니다.
+</p>
+<ul>
+<li>부동 창 해제(대화 상자, 팝업)</li>
+<li>상황에 맞는 작업 모음 해제 및 선택한 항목에서 강조 표시 제거</li>
+<li>화상 키보드(IME) 감추기</li>
+</ul>
+<h2 id="within-app">앱 내 탐색</h2>
+
+<h4>진입 지점이 여러 개인 화면으로 이동하기</h4>
+<p>일부 화면은 앱의 계층 구조 내에서 엄격한 위치를 가지고 있지 않는 경우가 있으며, 이 경우 여러 진입 지점을
+통해서 접근할 수 있습니다. 예를 들어 설정 화면은 앱
+내의 다른 어떤 화면에서도 접근이 가능합니다. 이러한 경우, 위로 버튼을 누르면 뒤로 버튼과
+동일하게 참조하는 화면으로 돌아가게 됩니다.</p>
+<h4>화면 내에서 뷰 변경하기</h4>
+<p>화면의 뷰 옵션 변경은 위로 또는 뒤로 버튼의 동작을 변경하지 않습니다. 이는 화면이 앱 계층 구조 내에서 여전히 동일한 위치에
+있고, 어떠한 탐색 기록도 새로 생성되지 않기 때문입니다.</p>
+<p>이러한 뷰 변경의 예는 다음과 같습니다.</p>
+<ul>
+<li>탭 및/또는 좌우 스와이프를 사용하여 뷰 전환하기</li>
+<li>드롭다운(겹쳐진 탭이라고도 함)을 사용하여 뷰 전환하기</li>
+<li>목록 필터링하기</li>
+<li>목록 정렬하기</li>
+<li>표시 문자 변경하기(예: 확대/축소)</li>
+</ul>
+<h4>형제 화면 간 탐색하기</h4>
+<p>항목 목록에서 개별 항목의 상세 뷰로의 이동을 앱에서 지원하는 경우, 해당 항목에서 목록의 이전/이후
+항목으로 직접 이동할 수 있도록 지원하는 것이 바람직한
+경우도 있습니다. 예를 들어 Gmail의 대화에서 왼쪽 또는 오른쪽으로 간단하게 스와이프하여 동일한 받은 편지함에 있는 신규 또는 이전 메일을
+볼 수 있습니다. 화면 내에서 뷰를 변경하는 것과 마찬가지로,
+탐색은 위로 또는 뒤로 버튼의 동작을 바꾸지 않습니다.</p>
+
+<img src="{@docRoot}design/media/navigation_between_siblings_gmail.png">
+
+<p>하지만 참조 목록으로 같이
+묶여 있지 않은 연관된 상세 뷰 사이를 탐색할 때는 주목할 만한 예외적인 상황이 발생합니다. 예를 들어, Play Store에서
+동일한 개발자가 만든 여러 앱 또는 동일한 아티스트의 여러 앨범을 탐색하는 경우가 그렇습니다. 이러한 경우, 링크를 따라갈 때마다
+기록이 생성되므로, 뒤로 버튼을 누르면 이전에 본 화면으로 이동합니다. 위로 버튼을 누르면 계속해서 이러한 연관된 화면을
+거치지 않고 가장 최근에 본 컨테이너 화면으로 이동합니다.</p>
+
+<img src="{@docRoot}design/media/navigation_between_siblings_market1.png">
+
+<p>상세
+뷰에 대한 지식을 바탕으로 더욱 스마트한 위로 버튼 동작을 구현할 수 있습니다. 위에서 설명한 Play Store 예를 확장하여 사용자가
+마지막으로 본 도서에서 해당 도서를 각색한 영화의 세부 정보 화면으로 이동했다고 가정해 봅니다. 그러한 경우, 위로 버튼을 누르면 사용자가 이전에 탐색한 적이 없는
+컨테이너(영화)로 이동할 수 있습니다.</p>
+
+<img src="{@docRoot}design/media/navigation_between_siblings_market2.png">
+
+<h2 id="into-your-app">홈 화면 위젯 및 알림을 통한 앱 탐색</h2>
+
+<p>홈 화면 위젯이나 알림을 사용하여 사용자가 앱 계층 구조 내에
+있는 화면으로 바로 이동할 수 있게 할 수 있습니다. 예를 들어, Gmail의 받은 편지함 위젯과 새 메시지 알림은
+모두 받은 편지함 화면을 건너뛰고 사용자가 해당 메일로 바로 이동할 수 있게 해줍니다.</p>
+
+<p>이러한 두 경우 모두 위로 버튼을 다음과 같이 처리합니다.</p>
+
+<ul>
+<li><em>일반적으로 목적지 화면이
+앱 내의 특정 화면에서 출발한 경우</em>, 위로 버튼은 해당 화면으로 이동해야 합니다.</li>
+<li><em>그 외의 경우</em>, 위로 버튼은 앱의 최상위("홈") 화면으로 이동해야 합니다.</li>
+</ul>
+
+<p>뒤로 버튼의 경우,
+앱의 최상위 화면으로 이동하는 완전한 상위 탐색 경로를 태스크의 백 스택에 삽입하여 탐색을 더욱 예측 가능하게 만들어야 합니다. 이는 앱에 어떻게 진입했는지 잊어버린
+사용자가 앱에서 나가기
+전에 앱의 최상위 화면으로 이동할 수 있게 해줍니다.</p>
+
+<p>예를 들어 Gmail의 홈 화면 위젯은 메일 작성
+화면으로 바로 진입할 수 있는 버튼을 제공합니다. 메일 작성 화면에서 위로 또는
+뒤로 버튼을 누르면 받은 편지함으로 이동하게 되고, 받은 편지함에서 뒤로 버튼을 누르면 홈으로 돌아가게 됩니다.</p>
+
+<img src="{@docRoot}design/media/navigation_from_outside_back.png">
+
+<h4>간접 알림</h4>
+
+<p>앱이 동시에 다양한 이벤트 정보를 제공해야 하는 경우, 사용자를 틈새 화면(interstitial screen)으로 이동하게 하는
+단일 알림을 사용할 수 있습니다. 이 화면은
+이러한 이벤트를 요약하고, 사용자가 앱을 세부적으로 탐색할 수 있는 경로를 제공합니다. 이러한 스타일의 알림을 <em>간접 알림</em>이라고
+합니다.</p>
+
+<p>기본(직접) 알림과 달리, 간접 알림의
+틈새 화면에서 뒤로 버튼을 누르면 백 스택에 다른 화면이
+추가되지 않고 알림이 트리거된 지점으로 사용자를 이동시킵니다. 사용자가
+틈새 화면에서 앱으로 들어가면, 위로 버튼 및 뒤로 버튼은 위에서 설명한 바와 같이 틈새 화면으로 돌아가지 않고, 기본 알림과 마찬가지로 앱 내에서
+탐색을 수행합니다.</p>
+
+<p>예를 들어 Gmail을 사용 중인 사용자가 캘린더로부터 간접 알림을 받았다고 가정해 봅니다. 해당
+알림을 터치하면 틈새 화면이 열립니다. 이 화면에는 다른
+여러 이벤트에 대한 알림도 표시됩니다. 틈새 화면에서 뒤로 버튼을 터치하면 Gmail로 돌아갑니다. 특정
+이벤트를 터치하면 사용자를 틈새 화면에서 나오게 하여
+해당 이벤트의 세부 정보를 보여주는 완전한 캘린더 앱으로 이동하게 됩니다. 이벤트 세부 정보 화면에서 위로 버튼과 뒤로 버튼을 누르면 캘린더의 최상위 뷰로 이동하게 됩니다.</p>
+
+<img src="{@docRoot}design/media/navigation_indirect_notification.png">
+
+<h4>팝업 알림</h4>
+
+<p><em>팝업 알림</em>은 알림 창을 거치지 않고 바로 사용자에게
+표시되는 알림입니다. <strong>팝업 알림은 시기적절한
+응답이 요구되는 경우와 사용자의 컨텍스트를 중단하는 것이 필요한 경우에 한하여</strong> 드물게 사용됩니다. 예를 들어
+Talk는 친구가 화상 채팅에 참여하도록 보낸
+초대를 사용자에게 알리기 위해 이러한 스타일의 알림을 사용하며, 이 초대는 몇 초 후에 자동으로 만료됩니다.</p>
+
+<p>탐색 동작 측면에서, 팝업 알림은 간접
+알림의 틈새 화면 동작을 상당히 많이 따릅니다. 뒤로 버튼을 누르면 팝업 알림이 해제됩니다. 사용자가 팝업을
+통해 앱으로 이동하면, 위로 및 뒤로 버튼은 기본 알림의 규칙에 따라 앱 내에서
+탐색합니다.</p>
+
+<img src="{@docRoot}design/media/navigation_popup_notification.png">
+
+<h2 id="between-apps">앱 간 탐색</h2>
+
+<p>Android 시스템의 기본이 되는 강점 중 하나는 앱이
+다른 앱을 실행할 수 있다는 점이며, 이로 인해 사용자는 한 앱에서 다른 앱으로 직접 이동할 수 있습니다. 예를 들어, 사진을 캡처해야 하는
+앱은 카메라 앱을 작동시킬 수 있으며, 카메라 앱은 사진을 해당 앱으로
+돌려줍니다. 이러한 기능은 개발자와 사용자 모두에게 매우 유용합니다. 왜냐하면 개발자는 쉽게 다른 앱의
+코드를 활용할 수 있고, 사용자는 흔히 수행하는
+작업을 일관된 환경으로 즐길 수 있기 때문입니다.</p>
+
+<p>앱 간 탐색을 이해하려면 아래에서
+설명하는 Android 프레임워크 동작을 알아야 합니다.</p>
+
+<h4>액티비티, 태스크 및 인텐트</h4>
+
+<p>Android에서 <strong>액티비티</strong>는
+정보 및 사용자가 수행할 수 있는 모든 관련 작업이 포함된 화면을 정의하는 애플리케이션 구성 요소입니다. 앱은 본인이 직접 생성하는
+액티비티와 다른 앱에서 재활용하는 액티비티로 구성되어 있는 액티비티 컬렉션입니다.</p>
+
+<p><strong>태스크</strong>는 사용자가 목적을 달성하기 위해서 따르는 일련의 액티비티입니다. 단일
+태스크는 단 한 가지 앱의 액티비티만 사용할 수도 있고,
+여러 앱의 액티비티를 사용할 수도 있습니다.</p>
+
+<p><strong>인텐트</strong>는 어떤 앱이 작업을 수행하는 데 다른
+앱의 도움을 받고자 한다는 신호를 보내는 메커니즘입니다. 앱의 액티비티는
+어떠한 인텐트에 응답을 보낼 수 있는지 알려줄 수 있습니다. "공유하기"와 같이 일반적인 인텐트의 경우, 사용자는 해당 요청을 수행할 수 있는 여러 앱을
+설치했을 수도 있습니다.</p>
+
+<h4>예: "공유하기"를 지원하는 앱 간에 탐색하기</h4>
+
+<p>액티비티, 태스크, 인텐트가 어떻게 같이 동작하는지 이해하려면 한 앱이 다른 앱을 사용하여 콘텐츠
+공유를 어떻게 가능하게 하는지 생각해 보세요. 예를 들어, 홈에서 Play Store 앱을 실행하면
+새로운 태스크 A가 시작됩니다(아래 그림 참조). Play Store에서 탐색하다가 홍보 도서의 세부 정보를
+보기 위해 터치하면, 다른 액티비티를 추가하여 태스크를 연장하는 방식으로 사용자는 동일한 태스크에 머물게 됩니다. 공유하기
+작업을 트리거하면 공유하기 인텐트를 처리하도록
+등록된 액티비티(다양한 앱에서 제공)가 나열된 목록을 보여주는 대화 상자가 표시됩니다.</p>
+
+<img src="{@docRoot}design/media/navigation_between_apps_inward.png">
+
+<p>사용자가 Gmail을 통해 공유하기를 선택할 경우, 새로운 태스크가 생성되는 것이 아니라
+태스크 A의 연장으로 Gmail의 메일 작성 액티비티가 추가됩니다. Gmail의 백그라운드에서 실행되는 자체적인 태스크가 있을 경우, 해당 태스크는 아무런
+영향도 받지 않습니다.</p>
+
+<p>메일 작성 액티비티에서 메시지를 보내거나 뒤로 버튼을 터치하면, 사용자는
+도서 세부 정보 액티비티로 돌아가게 됩니다. 뒤로 버튼을 연이어 터치하면 Play
+Store에서 탐색한 페이지로 되돌아가게 되어 결국에는 홈 화면에 이르게 됩니다.</p>
+
+<img src="{@docRoot}design/media/navigation_between_apps_back.png">
+
+<p>하지만 사용자가 메일 작성 액티비티에서 위로 버튼을 터치하는 것은
+Gmail에 남아 있고자 하는 의지를 보이는 것입니다. 따라서, 이 경우 Gmail의 대화 목록 액티비티가 표시되고, 새로운 태스크 B가 생성됩니다. 새로운 태스크는
+항상 홈에 기반을 두고 있기 때문에, 대화 목록에서 뒤로 버튼을 터치하면 홈으로 되돌아가게 됩니다.</p>
+
+<img src="{@docRoot}design/media/navigation_between_apps_up.png">
+
+<p>태스크 A는 백그라운드에 남아 있기 때문에 나중에 돌아올 수 있습니다(예를 들어,
+최근 앱 화면을 통해). Gmail에 이미 백그라운드에서 실행 중인 자체적인 태스크가 있을 경우,
+해당 태스크는 태스크 B로 대체됩니다. 이전 컨텍스트는 사용자의 새로운 목적에 따라 제거됩니다.</p>
+
+<p>앱 계층 구조 내의 액티비티에서 인텐트를 처리하도록 앱에서 등록하는 경우, 위로 탐색을 지정하는 방법에 대한 지침을 확인하려면
+<a href="#into-your-app">홈 화면 위젯 및
+알림을 통한 앱 탐색</a>을 참조하세요.</p>
diff --git a/docs/html-intl/intl/ko/design/patterns/notifications.jd b/docs/html-intl/intl/ko/design/patterns/notifications.jd
new file mode 100644
index 0000000..aab5eac
--- /dev/null
+++ b/docs/html-intl/intl/ko/design/patterns/notifications.jd
@@ -0,0 +1,872 @@
+page.title=알림
+page.tags="notifications","design","L"
+@jd:body
+
+ <a class="notice-developers" href="{@docRoot}training/notify-user/index.html">
+ <div>
+ <h3>개발자 문서</h3>
+ <p>사용자에게 알리기</p>
+ </div>
+</a>
+
+<a class="notice-designers" href="notifications_k.html">
+ <div>
+ <h3>Android 4.4 이하 버전의 알림</h3>
+ </div>
+</a>
+
+<!-- video box -->
+<a class="notice-developers-video" href="https://www.youtube.com/watch?v=Uiq2kZ2JHVY">
+<div>
+ <h3>비디오</h3>
+ <p>DevBytes: Android L Developer Preview의 알림</p>
+</div>
+</a>
+
+<style>
+ .col-5, .col-6, .col-7 {
+ margin-left:0px;
+ }
+</style>
+
+<p>알림 시스템을 사용하면 친구로부터 받은 새 채팅 메시지나 캘린더 이벤트와 같이 앱에서 관련된
+시기 적절한
+이벤트에 대한 알림을 사용자에게 표시할 수 있습니다.
+알림을 중요한
+이벤트가
+발생한 경우 사용자에게 이에 대해 알리는 뉴스 채널이나 사용자가 앱에 집중하고
+있지 않은 동안에 이벤트를 시간순으로 기록하는 로그라고 생각하세요. 또한, 적절한 경우 모든 Android 기기에 걸쳐 동기화될 수도 있습니다.</p>
+
+<h4 id="New"><strong>Android 5.0의 새로운 기능</strong></h4>
+
+<p>Android 5.0에서는 구조적,
+시각적, 그리고 기능적으로 중요한 업데이트를 알림을 통해 받을 수 있습니다.</p>
+
+<ul>
+ <li>새로운
+머티어리얼 디자인 테마와 일치하도록 알림이 시각적으로 바뀌었습니다.</li>
+ <li> 알림이 이제 기기 잠금 화면에 표시되나,
+민감한 콘텐츠는 여전히
+숨길 수 있습니다.</li>
+ <li>기기가 사용 중일 때 수신되는 최우선 순위의 알림은 이제
+헤드업 알림이라는 새로운 형식을 사용합니다.</li>
+ <li>클라우드와 동기화되는 알림: Android
+기기 중 하나에서 알림을 해지하면
+다른 기기에서도 해지됩니다.</li>
+</ul>
+
+<p class="note"><strong>참고:</strong> 이
+Android 버전의 알림 디자인은 이전 버전과 많이
+다릅니다. 이전
+버전의 알림 디자인에 대한 자세한 내용은 <a href="./notifications_k.html">Android 4.4 이하 버전의 알림</a>을 참조하세요.</p>
+
+<h2 id="Anatomy">알림의 해부학적 구조</h2>
+
+<p>이 섹션에서는 알림의 기본적인 부분과 다양한 유형의 기기에서 알림이 어떻게
+표시될 수 있는지에 대해 살펴봅니다.</p>
+
+<h3 id="BaseLayout">기본 레이아웃</h3>
+
+<p>모든 알림은 기본적으로 다음을 포함하는 기본 레이아웃으로 구성됩니다.</p>
+
+<ul>
+ <li> 알림 <strong>아이콘</strong>. 알림 아이콘은
+알림을 발생시킨 앱을 나타냅니다. 또한,
+앱이 두 가지 이상의
+유형을 생성하는 경우 알림 유형을 나타낼 수도 있습니다.</li>
+ <li> 알림 <strong>제목</strong> 및 추가
+<strong>텍스트</strong>.</li>
+ <li> <strong>타임스탬프</strong>.</li>
+</ul>
+
+<p>이전 플랫폼 버전의
+{@link android.app.Notification.Builder Notification.Builder}로 생성된 알림은 시스템이 대신
+처리하는 사소한 스타일 변화를 제외하면 Android
+5.0에서 똑같이 표시되고 동작합니다. 이전
+Android 버전의 알림에 대한 자세한 내용은
+<a href="./notifications_k.html">Android 4.4 이하 버전의 알림</a>을 참조하세요.</p></p>
+
+
+ <img style="margin:20px 0 0 0" src="{@docRoot}images/android-5.0/notifications/basic_combo.png" alt="" width="700px" />
+
+
+<div style="clear:both;margin-top:20px">
+ <p class="img-caption">
+ 핸드헬드 알림(왼쪽) 및 Wear에서 표시되는 동일한 알림(오른쪽)의 기본 레이아웃
+- 사용자 사진 및 알림 아이콘 포함
+ </p>
+ </div>
+
+<h3 id="ExpandedLayouts">확장 레이아웃</h3>
+
+
+<p>앱 알림이 얼마나 자세한 정보를
+제공하도록 할지는 직접 선택할 수 있습니다. 메시지의 처음
+몇 줄을 보여주거나 더 큰 이미지 미리보기를 보여줄 수 있습니다. 이러한 추가
+정보는 사용자에게 더 많은
+컨텍스트를 제공하며, 경우에 따라 이를 통해 사용자는 메시지
+전체를 읽을 수도 있습니다. 사용자는
+핀치-줌(pinch-zoom) 또는 한 손가락으로 밀기를 이용하여 축소 레이아웃과
+확장 레이아웃 간을 전환할 수 있습니다.
+ Android는 단일 이벤트 알림에 대해 세 개의 확장 레이아웃
+템플릿(텍스트, 받은 편지함,
+이미지)을 애플리케이션에 사용할 수 있도록 제공합니다. 다음 이미지는
+단일 이벤트 알림이
+핸드헬드(왼쪽) 및 웨어러블(오른쪽)에서 어떻게 표시되는지 보여줍니다.</p>
+
+<img style="margin-top:30px"
+src="{@docRoot}images/android-5.0/notifications/expandedtext_combo.png"
+ alt="" width="700px" height;="284px" />
+<img style="margin-top:30px"
+src="{@docRoot}images/android-5.0/notifications/stack_combo.png"
+ alt="" width="700px" height;="284px" />
+<img style="margin-top:30px"
+src="{@docRoot}images/android-5.0/notifications/ExpandedImage.png"
+ alt="" width="311px" height;="450px" />
+
+<h3 id="actions" style="clear:both; margin-top:40px">작업</h3>
+
+<p>Android는 알림의
+맨 아래 부분에 표시되는 선택적인 작업을 지원합니다.
+이러한 작업을 통해 사용자는 알림을 발생시킨
+애플리케이션을 열 필요 없이 알림 창에서 특정
+알림에 대한 가장 일반적인 태스크를 처리할 수 있습니다.
+이 기능은 밀어서 해제하기와 함께 작용하여 상호 작용의 속도를 향상시키며, 사용자가 자신에게 중요한 알림에
+집중하는 데 도움이 됩니다.</p>
+
+
+ <img src="{@docRoot}images/android-5.0/notifications/action_combo.png" alt="" width="700px" />
+
+
+
+<p style="clear:both">알림에
+포함할 작업의 수는 신중하게 결정해야 합니다. 더 많은
+작업을 포함할수록 인지적 복합성이 가중됩니다. 당장에 중요하며 의미
+있는 작업만 포함하여 작업
+수를 최소한으로
+제한해야 합니다.</p>
+
+<p>알림에 포함하기에 적합한 작업은 다음과 같습니다.</p>
+
+<ul>
+ <li> 표시하려는
+콘텐츠 유형과 관련하여 필수적이고, 자주 사용되며 전형적인 작업
+ <li> 사용자가 신속하게 태스크를 완료할 수 있게 하는 작업
+</ul>
+
+<p>다음과 같은 작업은 피합니다.</p>
+
+<ul>
+ <li> 애매모호한 작업
+ <li> "읽기" 또는
+"열기"와 같이 알림의 기본 작업과 동일한 작업
+</ul>
+
+
+
+<p>작업
+아이콘 및 이름으로 각각 구성된, 최대 세 개의 작업을 지정할 수 있습니다.
+ 단순한 기본 레이아웃에 작업을 추가하면 알림이 확장 가능하게 되며,
+알림에
+확장 레이아웃이 없는 경우에도 이러한 사항이 적용됩니다. 작업은
+확장된
+알림에서만 표시되고 그 외에는 숨겨져 있으므로
+사용자가 알림에서
+호출할 수 있는 모든 작업을 관련 애플리케이션 내에서도
+사용할 수 있는지 확인해야 합니다.</p>
+
+<h2 style="clear:left">헤드업 알림</h2>
+<div class="figure" style="width:311px">
+ <img src="{@docRoot}images/android-5.0/notifications/hun-example.png" alt="" width="311px" />
+ <p class="img-caption">
+ 몰입형 앱의
+최상위에
+표시되는 헤드업 알림의 예(걸려오는 전화, 최우선 순위)
+ </p>
+</div>
+
+<p>최우선 순위의 알림을 수신하면(오른쪽), 가능한 작업을 보여주는 확장된 레이아웃 형태로
+잠시 동안 사용자에게
+표시됩니다.</p>
+<p> 그런 다음, 알림이 알림
+창으로 돌아갑니다. 알림에 대한 <a href="#correctly_set_and_manage_notification_priority">우선 순위</a> 플래그가 HIGH, MAX 또는 전체 화면으로
+지정된 경우 헤드업 알림이 표시됩니다.</p>
+
+<p><b>헤드업 알림의 좋은 예</b></p>
+
+<ul>
+ <li> 기기 사용 시 걸려오는 전화</li>
+ <li> 기기 사용 시 알람</li>
+ <li> 새 SMS 메시지</li>
+ <li> 배터리 부족</li>
+</ul>
+
+<h2 style="clear:both" id="guidelines">가이드라인</h2>
+
+
+<h3 id="MakeItPersonal">개인에 맞게 만들기</h3>
+
+<p>다른 사람이 보낸 항목(메시지 또는
+상태 업데이트)에 대한 알림의 경우
+{@link android.app.Notification.Builder#setLargeIcon setLargeIcon()}을 사용하여 그 사람의 이미지를 포함합니다. 또한
+그 사람에 대한 정보를 알림의 메타데이터에 추가합니다({@link android.app.Notification#EXTRA_PEOPLE} 참조).</p>
+
+<p>알림의 기본 아이콘이 여전히 표시됩니다. 따라서 사용자는
+해당 아이콘을 상태 표시줄에
+보이는 아이콘과 관련시킬 수 있습니다.</p>
+
+
+<img src="{@docRoot}images/android-5.0/notifications/Triggered.png" alt="" width="311px" />
+<p style="margin-top:10px" class="img-caption">
+ 누가 트리거했는지와 보낸 내용을 보여주는 알림입니다.
+</p>
+
+
+<h3 id="navigate_to_the_right_place">적합한 곳으로 이동하기</h3>
+
+<p>사용자가 작업
+버튼 외부에서 알림을 터치하면, 사용자가 알림에서
+참조되는 데이터를 확인하고 처리할 수 있는 곳에서
+앱이 열리도록 합니다. 대부분의 경우, 메시지와 같은 단일 데이터 항목을 표시하는 상세 뷰가 이에 해당합니다.
+하지만 알림이 중첩되어 있을 경우에는
+요약 뷰일 수도 있습니다. 앱이
+최상위 레벨 아래의 위치에서 열린 경우
+사용자가 시스템의 뒤로 버튼을 눌러 최상위 레벨로 돌아갈 수 있도록 앱의 백 스택에 탐색 경로를 삽입합니다. 자세한 내용은
+<a href="{@docRoot}design/patterns/navigation.html#into-your-app">탐색</a>
+디자인 패턴의 <em>홈 화면 위젯 및 알림을 통한 앱 탐색</em>을 참조하세요.</p>
+
+<h3 id="correctly_set_and_manage_notification_priority">알림의
+우선 순위를 정확하게 설정하고
+관리하기</h3>
+
+<p>Android는 알림 우선 순위 플래그를 지원합니다. 이 플래그를 통해 다른 알림에 상대적으로 알림이 표시되는 위치가
+결정되도록 할 수 있습니다. 또한
+사용자가 가장 중요한 알림을 항상 가장 먼저 볼 수 있게
+할 수 있습니다. 알림을 게시할 때
+다음 우선 순위 중에서
+선택할 수 있습니다.</p>
+<table>
+ <tr>
+ <td class="tab0">
+<p><strong>우선 순위</strong></p>
+</td>
+ <td class="tab0">
+<p><strong>용도</strong></p>
+</td>
+ </tr>
+ <tr>
+ <td class="tab1">
+<p><code>MAX</code></p>
+</td>
+ <td class="tab1">
+<p>시간에 민감한
+또는
+특정 태스크를 계속 진행하기 전에 처리해야 할
+상황을 사용자에게 알리는 중요하고 긴급한 알림에 사용합니다.</p>
+</td>
+ </tr>
+ <tr>
+ <td class="tab1">
+<p><code>HIGH</code></p>
+</td>
+ <td class="tab1">
+<p>중요한 대화에 주로 사용합니다. 일례로 사용자에게 특별히 흥미로운 내용이 포함된 메시지 또는 채팅
+이벤트가 이에 해당합니다.
+최우선 순위의 알림은 헤드업 알림이 표시되도록 합니다.</p>
+</td>
+ </tr>
+ <tr>
+ <td class="tab1">
+<p><code>DEFAULT</code></p>
+</td>
+ <td class="tab1">
+<p>여기서 설명하지 않은 기타 모든 우선 순위의 알림에 사용합니다.</p>
+</td>
+ </tr>
+ <tr>
+ <td class="tab1">
+<p><code>LOW</code></p>
+</td>
+ <td class="tab1">
+<p>사용자에게 알려야 하지만 긴급하지 않은
+알림에 사용합니다. 우선 순위가 낮은 알림은 보통 목록의 맨 아래에 표시되며,
+공개 또는 대상이 불특정한 소셜 업데이트에 사용하기
+좋습니다. 사용자가
+요구한
+알림이지만, 이러한 알림은 긴급하거나 직접적인
+대화를 우선할 수 없습니다.</p>
+</td>
+ </tr>
+ <tr>
+ <td class="tab1">
+<p><code>MIN</code></p>
+</td>
+ <td class="tab1">
+<p>날씨 정보 또는 상황에 맞는
+위치 정보와 같은 상황별 또는 배경 정보에 사용합니다.
+최소 우선 순위 알림은 상태 표시줄에 표시되지 않습니다. 이러한 알림은 사용자가 알림 창을 확대하면
+볼 수 있습니다.</p>
+</td>
+ </tr>
+</table>
+
+
+<h4 id="how_to_choose_an_appropriate_priority"><strong>
+적절한
+우선 순위를 선택하는 방법</strong></h4>
+
+<p><code>DEFAULT</code>, <code>HIGH</code> 및 <code>MAX</code>는 작업을 중단시키는 우선 순위이며, 사용자의 액티비티를
+중단시키는
+위험 요소입니다. 앱 사용자를 성가시게 하지 않으려면 다음과 같은
+알림에만 작업을 중단시키는 우선 순위를 지정해야 합니다.</p>
+
+<ul>
+ <li> 다른 사람이 관련된 알림</li>
+ <li> 시간에 민감한 알림</li>
+ <li> 실제 환경에서의 사용자 행동을 즉시 바꿀 수 있는 알림</li>
+</ul>
+
+<p><code>LOW</code> 및 <code>MIN</code>으로 설정된 알림도 사용자에게
+중요할 수 있습니다. 대부분은 아니지만 많은 알림이 사용자의
+즉각적인 주의를 필요로 하지 않거나 사용자의 손목에 진동을 줄 필요가 없지만, 사용자가 알림을 확인하고자
+했을 때 유용하다고
+여길 정보를 포함합니다. <code>LOW</code> 및 <code>MIN</code>
+우선 순위 알림에 대한 조건은 다음과 같습니다.</p>
+
+<ul>
+ <li> 다른 사람이 관련되지 않음</li>
+ <li> 시간에 민감하지 않음</li>
+ <li> 사용자가 흥미를 가질 만하지만 시간이 있을 때
+보기를 원할 수 있는 내용을 포함함</li>
+</ul>
+
+
+ <img src="{@docRoot}images/android-5.0/notifications/notifications_pattern_priority.png" alt="" width="700" />
+
+
+<h3 style="clear:both" id="set_a_notification_category">알림
+범주 설정하기</h3>
+
+<p>알림이 미리 정의된 범주에 포함될 경우(아래
+참조),
+그에 따라 할당합니다. 알림 창(또는
+다른 알림
+수신자)과 같은 시스템 UI의 기능은 순위 및 필터링 결정을 내리는 데 이 정보를 활용할 수 있습니다.</p>
+<table>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_CALL">CATEGORY_CALL</a></code></p>
+</td>
+ <td>
+<p>수신 전화(음성 또는 화상) 또는 이와 유사한 동기적 대화
+요청</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_MESSAGE">CATEGORY_MESSAGE</a></code></p>
+</td>
+ <td>
+<p>수신되는 직접 메시지(SMS, 인스턴트 메시지 등)</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_EMAIL">CATEGORY_EMAIL</a></code></p>
+</td>
+ <td>
+<p>비동기적 대량 메시지(이메일)</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_EVENT">CATEGORY_EVENT</a></code></p>
+</td>
+ <td>
+<p>캘린더 이벤트</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_PROMO">CATEGORY_PROMO</a></code></p>
+</td>
+ <td>
+<p>홍보 또는 광고</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_ALARM">CATEGORY_ALARM</a></code></p>
+</td>
+ <td>
+<p>알람 또는 타이머</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_PROGRESS">CATEGORY_PROGRESS</a></code></p>
+</td>
+ <td>
+<p>장기간 실행 중인 백그라운드 작업의 진행 상황</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_SOCIAL">CATEGORY_SOCIAL</a></code></p>
+</td>
+ <td>
+<p>소셜 네트워크 또는 공유 업데이트</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_ERROR">CATEGORY_ERROR</a></code></p>
+</td>
+ <td>
+<p>백그라운드 작업 또는 인증 상태 오류</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_TRANSPORT">CATEGORY_TRANSPORT</a></code></p>
+</td>
+ <td>
+<p>재생에 대한 미디어 전송 제어</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_SYSTEM">CATEGORY_SYSTEM</a></code></p>
+</td>
+ <td>
+<p>시스템 또는 기기 상태 업데이트. 시스템용으로 예약됨</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_SERVICE">CATEGORY_SERVICE</a></code></p>
+</td>
+ <td>
+<p>실행 중인 백그라운드 서비스에 대한 표시</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_RECOMMENDATION">CATEGORY_RECOMMENDATION</a></code></p>
+</td>
+ <td>
+<p>한 가지 특정 항목에 대한 구체적이고 시기적절한 권장 사항. 예를 들어, 뉴스
+앱이 사용자가 다음으로 읽기 원할 것이라고 생각하는 뉴스를
+권하고자 하는 경우</p>
+</td>
+ </tr>
+ <tr>
+ <td>
+<p><code><a
+href="/reference/android/app/Notification.html#CATEGORY_STATUS">CATEGORY_STATUS</a></code></p>
+</td>
+ <td>
+<p>기기 또는 상황별 상태에 대한 지속적인 정보</p>
+</td>
+ </tr>
+</table>
+
+<h3 id="summarize_your_notifications">알림 요약하기</h3>
+
+<p>특정 유형의 알림이 이미 보류 중일 때 앱에서 같은 유형의 새
+알림을 보내려고 하는 경우, 이 앱에 대해 두 알림을 하나의 요약 알림으로 결합합니다. 새로운 개체는
+생성하지 않아야 합니다.</p>
+
+<p>요약 알림은 사용자가 특정 종류의 알림이
+몇 개나 보류 중인지
+파악할 수 있도록 간단한 개요를 표시합니다.</p>
+
+<div class="col-6">
+
+<p><strong>잘못된 사용</strong></p>
+ <img src="{@docRoot}images/android-5.0/notifications/Summarise_Dont.png" alt="" width="311px" />
+</div>
+
+<div>
+<p><strong>올바른 사용</strong></p>
+
+ <img src="{@docRoot}images/android-5.0/notifications/Summarise_Do.png" alt="" width="311px" />
+</div>
+
+<p style="clear:left; padding-top:30px; padding-bottom:20px">확장된 다이제스트 레이아웃을 사용하여
+요약에 포함된 각각의 알림에 대한
+더 자세한 정보를 제공할 수 있습니다. 이 방식을 통해 사용자는
+어떠한 알림이 보류 중이고,
+관련된 앱에서
+상세 정보를 읽고 싶을 정도로 알림이 흥미로운지를
+판단할 수 있습니다.</p>
+<div class="col-6">
+ <img src="{@docRoot}images/android-5.0/notifications/Stack.png" style="margin-bottom:20px" alt="" width="311px" />
+ <p class="img-caption">
+ 확장된 알림 및 축소된 요약 알림(<code>InboxStyle</code> 사용)
+ </p>
+</div>
+
+<h3 style="clear:both" id="make_notifications_optional">알림을
+선택 항목으로 만들기</h3>
+
+<p>사용자는 항상 알림을 통제할 수 있어야 합니다. 애플리케이션 설정에 알림 설정 항목을 추가하여
+사용자가 앱의
+알림을
+해제하거나 경고 속성(예: 경고음 및 진동 사용
+여부)을 변경할 수 있도록 허용합니다.</p>
+
+<h3 id="use_distinct_icons">뚜렷한 아이콘 사용</h3>
+<p>알림 영역을 봄으로써 사용자는 현재
+어떠한 종류의
+알림이 보류 중인지 파악할 수 있어야 합니다.</p>
+
+<div class="figure">
+ <img src="{@docRoot}images/android-5.0/notifications/ProductIcons.png" alt="" width="420" />
+</div>
+
+ <div><p><strong>올바른 사용</strong></p>
+ <p>Android 앱이 이미 제공하는 알림 아이콘을 살펴본 후 본인의 앱에서
+뚜렷히 나타날 수 있는
+알림 아이콘을 만듭니다.</p>
+
+ <p><strong>올바른 사용</strong></p>
+ <p>작은 아이콘에
+적절한 <a href="/design/style/iconography.html#notification">알림 아이콘 스타일</a>을 사용하며, 작업
+아이콘에는 머티어리얼 라이트
+<a href="/design/style/iconography.html#action-bar">작업 모음 아이콘
+스타일</a>을 사용합니다.</p>
+<p ><strong>올바른 사용</strong></p>
+<p >아이콘은 시각적으로 단순하게 유지하고,
+알아차리기 힘들 정도로 과도하게 세부적인 디자인은 피합니다.</p>
+
+ <div><p><strong>잘못된 사용</strong></p>
+ <p>작은
+아이콘 및 작업
+아이콘에 알파(어둡게 설정 또는 페이드 효과)를 추가합니다. 아이콘의 가장자리를 안티-앨리어싱할 수는 있지만, Android가 이러한
+아이콘을 마스크(즉,
+알파 채널만 사용됨)로 사용하기 때문에 일반적으로 이미지는 최대 수준의
+불투명도로 그려집니다.</p>
+
+</div>
+<p style="clear:both"><strong>잘못된 사용</strong></p>
+
+<p>다른 앱과의 차별화를 위해 색상을 사용합니다. 알림 아이콘은 투명한 배경 이미지에 흰색 아이콘이어야만
+합니다.</p>
+
+
+<h3 id="pulse_the_notification_led_appropriately">알림 LED를
+적절하게 사용하기</h3>
+
+<p>많은 Android 기기에는 알림 LED가 내장되어 있으며, 이러한 알림 LED는 화면이 꺼져 있을 때
+사용자에게
+이벤트에 대해 알리기 위해 사용됩니다. 우선 순위가 <code>MAX</code>,
+<code>HIGH</code> 또는 <code>DEFAULT</code>인 알림의 경우
+LED가 켜지며, 낮은 우선 순위(<code>LOW</code> 및
+<code>MIN</code>)의 알림의 경우 LED가 켜지지 않습니다.</p>
+
+<p>알림과 관련하여 사용자는 LED도 제어할 수 있어야 합니다.
+DEFAULT_LIGHTS를 사용하는 경우
+LED는 흰색으로 켜집니다. 사용자가
+명시적으로 지정한 경우 외에는 다른 알림
+색상을 사용할 수 없습니다.</p>
+
+<h2 id="building_notifications_that_users_care_about">사용자가 관심을 가질 만한
+알림 만들기</h2>
+
+<p>사용자의 사랑을 받는 앱을 만들기 위해서는
+알림을 신중하게 디자인해야 합니다.
+알림은 앱의 목소리를 대변하며, 앱의
+개성에 큰 영향을 미칩니다. 원하지 않거나
+중요하지 않은 알림은 사용자를 성가시게 하거나 앱에서
+많은 신경을
+쓰게 하는 것에 대해 짜증이 나게 합니다. 따라서 알림을 사용할 때는 현명하게 판단해야 합니다.</p>
+
+<h3 id="when_to_display_a_notification">알림을 표시해야 하는 경우</h3>
+
+<p>사람들이 즐겨 사용하는 애플리케이션을 만들려면 사용자의
+주의와 집중을 흐트러뜨리지 않고 보호해야 하는 리소스임을
+인지하는 것이 중요합니다. Android의
+알림 시스템은 알림이 사용자의 주의를 최대한 방해하지 않도록
+디자인되었습니다.
+하지만
+알림이
+사용자의 태스크 흐름을 방해한다는 사실을 계속해서 인지해야 합니다.
+알림을 계획할 때 알림이 사용자의 작업을 중단할 만큼
+중요한지 곰곰히 생각해 보시기 바랍니다. 잘 모르겠는 경우, 사용자가 앱의 알림 설정을 사용하여 알림에 대한 수신 동의를
+선택할 수 있도록 허용하거나 알림 우선 순위 플래그를 <code>LOW</code> 또는 <code>MIN</code>으로
+조정하여 사용자 작업을
+방해하지
+않도록 합니다.</p>
+
+ <img src="{@docRoot}images/android-5.0/notifications/TimeSensitive.png" alt="" width="311px" />
+ <p style="margin-top:10px" class="img-caption">
+ 시간에 민감한 알림의 예
+ </p>
+
+<p>일반적으로 잘 만들어진 앱은 사용자의 요청이 있을 때에만 정보를 알리고
+요청하지 않은 알림은 꼭 필요한 경우에만 표시하도록 합니다.</p>
+
+<p>알림은 <strong>시간에 민감한 이벤트</strong>에 주로 사용하며, 특히
+이러한 동기적 이벤트에 <strong>다른 사람이 관련된 경우</strong>에 사용합니다. 예를
+들어 수신되는 채팅 메시지는
+실시간으로 진행되는 동기적 대화 형식이며, 이때 다른 사람은
+적극적으로 응답을 기다립니다. 캘린더 이벤트는 언제
+알림을 사용하고
+사용자의 주의를 끌어야 하는지에 대해 알 수 있는 또 다른 좋은 예입니다. 왜냐하면 이는 임박한 이벤트이며, 캘린더 이벤트에는 종종 다른 사람이
+관련되기 때문입니다.</p>
+
+<h3 style="clear:both" id="when_not_to_display_a_notification">알림을
+표시하지 않아야 하는 경우</h3>
+
+<div class="figure" style="margin-top:60px">
+ <img src="{@docRoot}images/android-5.0/notifications/AntiSample1.png" alt="" width="311px" />
+</div>
+
+<p>다른 대부분의 경우 알림은 적합하지 않습니다.</p>
+
+<ul>
+ <li> 사용자와
+직접 관련이 없는 정보나 시간에 민감하지 않은
+정보는 알리지 않도록 합니다. 예를 들어 소셜 네트워크를 통한 비동기적이며
+대상이 불특정한 업데이트는
+일반적으로 실시간으로
+사용자를 방해할 수 없습니다. 그러한 업데이트를 원하는 사용자의
+경우에는 사전에 수신 동의를 설정할 수 있게 하면 됩니다.</li>
+ <li> 관련된 새 정보가 현재
+화면에 표시된 경우에는 알림을 생성하지 않아야 합니다. 대신 애플리케이션 UI를
+사용하여 컨텍스트 내에 새로운 정보가 있음을 사용자에게
+직접 알립니다.
+ 예를 들어 채팅 애플리케이션은
+사용자가 다른 사용자와 대화 중일 때는 시스템 알림을 생성하지 않아야 합니다.</li>
+ <li> 정보 저장
+또는 동기화, 애플리케이션 업데이트와 같은 낮은 수준의 기술 정보의 경우 사용자가 개입하지
+않아도 앱이나 시스템에서 스스로 알아서 처리할 수 있다면 사용자를 방해하지 않도록 합니다.</li>
+ <li> 사용자가 아무런 조치를
+취하지 않아도 애플리케이션 스스로 오류를 복구할
+수 있는 경우, 이러한 오류에 대해 사용자에게 알리지 않도록 합니다.</li>
+ <li> 알리는 내용은 없고
+단순히 앱을
+홍보하는 알림은 만들지 않습니다. 알림은 유용하고, 시기적절하며 새로운 정보를 제공해야 하며, 단지 앱 출시를 위한 용도로는
+사용하지
+않습니다.</li>
+ <li> 단지
+사용자에게 브랜드를 알리기 위한 불필요한 알림은 만들지 않도록 합니다.
+ 그러한 알림은 사용자를 짜증 나게 만들어 앱에 대한 관심을 멀어지게 합니다. 소량의
+업데이트된 정보를 제공하면서 사용자가 지속적으로
+앱에 관심을
+갖게 만드는 최고의
+방법은
+홈 화면에 추가할 수 있는 위젯을 개발하는 것입니다.</li>
+</ul>
+
+<h2 style="clear:left" id="interacting_with_notifications">알림과
+상호 작용하기</h2>
+
+<p>알림은 상태 표시줄에 아이콘으로 표시되며,
+알림 창을 열어서
+확인할 수 있습니다.</p>
+
+<p>알림을 터치하면 관련 앱이 열리고 알림에
+해당되는 세부 내용이 표시됩니다. 알림을 왼쪽이나 오른쪽으로
+스와이프하면 알림 창에서 제거됩니다.</p>
+
+<h3 id="ongoing_notifications">지속적인 알림</h3>
+<div class="figure" style="width:311px">
+ <img src="{@docRoot}images/android-5.0/notifications/MusicPlayback.png" alt="" width="311px" />
+ <p class="img-caption">
+ 음악 재생으로 인한 지속적인 알림
+ </p>
+</div>
+<p>지속적인 알림은
+백그라운드에서 진행 중인 프로세스에 대해 사용자에게 알립니다.
+예를 들어 음악 플레이어는 사용자가 재생을 멈출 때까지
+알림 시스템 내에 현재 재생 중인 트랙을
+계속 표시합니다. 또한 지속적인 알림은 파일을 다운로드하거나 비디오를 인코딩하는 등의 장기 태스크에 대한
+피드백을 사용자에게
+표시할 수도 있습니다. 지속적인 알림은 사용자가 알림 창에서 직접
+제거할 수 없습니다.</p>
+
+<h3 id="ongoing_notifications">미디어 재생</h3>
+<p>Android 5.0에서는 잠금 화면에 사용이 중단된
+{@link android.media.RemoteControlClient} 클래스에 대한 전송 제어가 표시되지 않습니다. 하지만 알림은 <em>표시되며</em>, 각
+앱의 재생 알림이 현재 사용자가 잠금 상태에서 재생을 제어하는 기본
+방법입니다. 이 동작은 화면의 잠금 여부와 상관없이 사용자에게
+일관된 환경을 제공하면서, 어떠한 버튼을
+어떻게 표시할지에 대해 앱이 더 세부적으로 제어할 수 있도록
+지원합니다.</p>
+
+<h3 style="clear:both"
+id="dialogs_and_toasts_are_for_feedback_not_notification">대화 상자
+및 알림 메시지</h3>
+
+<p>현재
+화면에 표시되어 있는 경우가 아니라면 앱은 대화 상자나 알림 메시지를 생성해서는 안 됩니다. 대화 상자나 알림 메시지는
+앱 내에서
+사용자가 어떠한 행동을 취했을 때 이에 대한 즉각적인 응답으로만 표시되어야 합니다.
+대화 상자 및 알림 메시지 사용에 대한 자세한 지침은
+<a href="/design/patterns/confirming-acknowledging.html">확인 및 승인하기</a>를 참조하세요.</p>
+
+<h3>순위 및 순서</h3>
+
+<p>알림은 뉴스이므로, 기본적으로 발생한 순서의 역순으로
+표시되며, 특히
+앱에서 명시된 알림
+<a href="#correctly_set_and_manage_notification_priority">우선 순위</a>에 따라 순서가 결정됩니다.</p>
+
+<p>알림은 잠금 화면에서 중요한 부분이며, 기기의 화면이 켜질
+때마다
+표시됩니다. 잠금 화면의 공간은 협소하기 때문에 가장 긴급하고 관련 있는 알림을 식별하는 것이
+가장
+중요합니다. 이러한
+이유 때문에 Android에는 다음을 고려한
+더욱 정교한 정렬 알고리즘이 있습니다.</p>
+
+<ul>
+ <li> 타임스탬프 및 애플리케이션에 명시된 우선 순위.</li>
+ <li> 알림이 최근에 소리 또는
+진동으로 사용자를 방해했는지에 대한 여부. (즉,
+휴대폰에서 방금 소리가 났을 때 사용자가 "방금 무슨
+일이 있었지?"에 대해 알고 싶어하는 경우 잠금 화면을
+보면 한 눈에 알 수 있어야 합니다.)</li>
+ <li> {@link android.app.Notification#EXTRA_PEOPLE}을 사용하여 알림에 첨부된 사람,
+그리고 특히 즐겨찾기에 추가된 연락처인지에 대한 여부.</li>
+</ul>
+
+<p>이러한 정렬 알고리즘을 잘 이용하기 위해서는 목록의 특정 부분에 초점을 두기 보다는 생성하고자
+하는 사용자
+환경에 초점을 둡니다.</p>
+
+ <img src="{@docRoot}images/android-5.0/notifications/AntiSample3.png" alt="" width="700px" />
+
+ <p class="img-caption" style="margin-top:10px">Gmail 알림은
+기본 우선 순위이기 때문에
+보통은 행아웃과 같은 인스턴트 메시징 앱에서 온 메시지보다 하위에 정렬됩니다. 하지만
+새 메시지가 들어오면
+일시적으로 순위가 올라갑니다.
+ </p>
+
+
+<h3>잠금 화면</h3>
+
+<p>알림은 잠금 화면에 표시되기 때문에 사용자의 개인 정보 보호가
+특히
+중요하게 고려해야 할 사항입니다. 알림은 종종 민감한 정보를 포함하기 때문에, 아무나
+기기의 화면을 켰을 때 볼 수 있게 할 필요는
+없습니다.</p>
+
+<ul>
+ <li> 보안 잠금 화면(PIN, 패턴 또는 암호)이 있는 기기의 인터페이스에는
+공개 및 비공개 부분이 있습니다. 공개 인터페이스는 보안 잠금 화면에 표시될 수 있기 때문에
+누구나 볼 수 있습니다. 비공개 인터페이스는 잠금 화면 뒤에 있기 때문에
+기기의 잠금 화면을 푼 사람만 볼 수 있습니다.</li>
+</ul>
+
+<h3>보안 잠금 화면에 표시된 정보에 대한 사용자 제어</h3>
+<div class="figure" style="width:311px">
+ <img src="{@docRoot}images/android-5.0/notifications/LockScreen@2x.png" srcset="{@docRoot}images/android-5.0/notifications/LockScreen.png 1x" alt="" width="311px" />
+ <p class="img-caption">
+ 사용자가 기기의 잠금을 푼 후 보이는 콘텐츠와 함께 잠금 화면에 표시된 알림
+ </p>
+</div>
+
+<p>보안 잠금 화면을 설정할 때 사용자는
+민감한 세부 정보를 보안 잠금 화면에서 숨기도록 선택할 수 있습니다. 이러한 경우 시스템 UI는 알림의 <em>정보 공개 수준</em>을
+고려하여
+안전하게 표시할 수 있는 정보를 파악합니다.</p>
+<p> 정보 공개 수준을 제어하려면
+<code><a
+href="/reference/android/app/Notification.Builder.html#setVisibility(int)">Notification.Builder.setVisibility()</a></code>를 호출한 후
+다음 값 중 하나를 지정합니다.</p>
+
+<ul>
+ <li><code><a
+href="/reference/android/app/Notification.html#VISIBILITY_PUBLIC">VISIBILITY_PUBLIC</a></code>. 알림의 전체 내용을
+표시합니다.
+ 정보 공개 수준을 지정하지 않을 경우 시스템 기본값입니다.</li>
+ <li><code><a
+href="/reference/android/app/Notification.html#VISIBILITY_PRIVATE">VISIBILITY_PRIVATE</a></code>.
+잠금 화면에 알림의
+아이콘과 알림을 게시한 앱의 이름을 포함하여 해당 알림의 존재에 대한 기본 정보를 표시합니다. 알림의 나머지 세부 사항은 표시되지 않습니다.
+다음과 같은 몇 가지 유용한 사항을 염두해야 합니다.
+ <ul>
+ <li> 시스템이 보안 잠금 화면에 다른 공개 버전의 알림을
+표시하도록 제공하려는 경우, <code><a
+href="/reference/android/app/Notification.html#publicVersion">Notification.publicVersion</a></code>
+필드에 대체
+알림 개체를 제공해야 합니다.
+ <li> 이렇게 설정하면 앱에서 여전히 유용하지만 개인 정보를 노출하지 않는 편집된 버전의
+내용을 생성할 수 있습니다. 예를 들어, 알림에 SMS 텍스트, 발신자 이름 및 연락처 아이콘을 포함하는
+SMS 앱이 있다고 가정합니다.
+이 알림은 <code>VISIBILITY_PRIVATE</code>여야 하지만, <code>publicVersion</code>은 다른 식별
+정보 없이 "3개의 새 메시지"와 같이 여전히 유용한 정보를
+포함할 수 있습니다.
+ </ul>
+ </li>
+ <li><code><a
+href="/reference/android/app/Notification.html#VISIBILITY_SECRET">Notification.VISIBILITY_SECRET</a></code>. 최소한의 정보만 표시하며, 알림의 아이콘마저
+표시하지 않습니다.</li>
+</ul>
+<h2 style="clear:both" id="notifications_on_android_wear">Android Wear에
+표시되는 알림</h2>
+
+<p>Android Wear에 표시되는 알림과 해당 <em>작업</em>은 기본적으로 Wear 기기에 연결되어 있습니다.
+개발자는 어떠한 알림을
+휴대폰에서 워치로,
+그리고 그 반대로 연결할지 제어할 수 있습니다. 또한 개발자는 어떠한 작업을 연결할지도 제어할 수 있습니다. 앱이
+단일 탭으로 실행할 수 없는
+작업을 포함하는 경우, 이러한 작업을
+Wear
+알림에 표시되지 않도록 숨기거나 Wear 앱에 연결하여 사용자가
+워치에서 작업을
+끝낼 수 있도록 합니다.</p>
+
+<h4>알림과 작업 연결하기</h4>
+
+<p>휴대폰과 같이 연결된 기기는 알림을 Wear 기기에 연결하여 해당 기기에서
+알림이 표시될 수 있게 합니다. 마찬가지로 작업도 연결할 수 있기 때문에 사용자는 Wear 기기에서
+알림을 바로 처리할 수 있습니다.</p>
+
+<p><strong>연결해야 할 사항</strong></p>
+
+<ul>
+ <li> 새 인스턴트 메시지</li>
+ <li> +1, Like, Heart와 같은 단일 탭 작업</li>
+</ul>
+
+<img src="{@docRoot}images/android-5.0/notifications/WearBasic.png" width="156px" height="156px" alt="" />
+
+<p><strong>연결하지 않아야 할 사항</strong></p>
+
+<ul>
+ <li> 새로 도착한 팟캐스트의 알림</li>
+ <li> 워치에서 수행할 수 없는 기능에 매핑되는 작업</li>
+</ul>
+
+
+
+<p><h4>Wear에 대해서만 정의할 수 있는 고유한 작업</h4></p>
+
+<p>Wear에서만 수행할 수 있는 작업이 몇 가지 있으며, 이러한 작업은 다음과 같습니다.</p>
+
+<ul>
+ <li> "금방 올게"와 같은 미리 준비된 대답으로 구성된 빠른 목록</li>
+ <li> 휴대폰에서 열기</li>
+ <li> 음성 입력 화면을 불러오는 "댓글 달기" 또는 "응답" 작업</li>
+ <li> Wear에 특화된 앱을 실행하는 작업</li>
+</ul>
+
+<img src="{@docRoot}images/android-5.0/notifications/ReplyAction.png" width="156px" height="156px" alt="" />