https://developer.apple.com/design/human-interface-guidelines/notifications
알림은 사람들이 한눈에 이해할 수 있는 시기적절하고 중요한 정보를 제공한다.
사용자들에게 알림을 보내려면 먼저 동의를 받아야한다. (개발자 가이드)
설정에서 수신하려는 알림의 스타일을 지정하고 긴급성 수준에 따라 알림의 전달 시간을 지정할 수 있다. (Managing Notifications)
Anatomy
알림은 플랫폼에 따라 다양한 스타일을 사용할 수 있다.
- 잠금 화면, 홈 화면, 홈 뷰, 바탕 화면의 배너 또는 뷰
- 앱 아이콘의 배지(badge: 카카오톡의 안 읽음 수 뷰 같은 것!)
- Notification Center의 item
전화나 메시지 등 직접적인 커뮤니케이션과 관련된 알림은 앱 아이콘 대신 눈에 잘 띄는 연락처 이미지(또는 아바타)와 그룹 이름이 표시되는 등 비커뮤니케이션 알림과 구분되는 인터페이스를 제공할 수 있다.
Best practices
- 간결하고 informative한 알림을 제공하자
- 사람들은 빠른 업데이트를 수신하기 위해 알림을 켜기 때문!
- 상대방이 응답하지 않았더라도 동일한 내용으로 여러번 알림을 보내지 말자!
- 사용자의 알림 센터(Notification Center)가 가득 차서 앱의 모든 알림을 끌 수도 있다.
- 앱 내에서 특정 작업을 수행하도록 지시하는 알림을 보내지 말자!!
- 앱을 열지 않고도 수행할 수 있는 간단한 작업을 제공하는 것이 합리적
- 그렇지 않으면 사람들이 알림을 dismiss하고 나면 그러한 지침을 기억하기 어렵기 때문
- 오류 메시지를 표시하려면 알림이 아니라 Alert를 사용하자! (팝업을 사용하자는 의미)
- 민감한 개인 정보나 기밀 정보를 포함하면 안 된다..!
Content
- 알림에 제목(title)이 포함되어 있으면 시스템에서 가장 잘 보이는 상단에 제목을 표시한다.
- direct communication(전화 같은 것)과 관련된 알림의 경우 제목 영역에 발신자 이름이 자동으로 표시된다.
- non-communication 알림의 경우 제목을 입력하지 않으면 앱 이름이 표시된다.
- 제목은 가능하면 짧게 만들자!
- 특히 공간이 제한된 Apple Watch에서는 짧은 제목을 선호한다.
- 가능하면 눈에 잘 띄는 알림 제목 영역을 활용하여 헤드라인, 이벤트 이름 또는 이메일 제목과 같은 유용한 정보를 제공하자.
- 새 문서와 같이 커뮤니케이션이 아닌 알림에 일반적인 제목만 제공할 수 있는 경우에는 시스템에서 앱 이름을 대신 표시하도록 하는 것이 더 나을 수 있다.
- 제목 스타일의 대문자를 사용하고 끝 문장 부호를 사용하지 말자.
- 간결하고 읽기 쉬운 알림 콘텐츠를 작성하자!
- 완전한 문장, 문장 대소문자, 적절한 구두점을 사용하고 메시지를 잘라내지 말자 -> 필요한 경우 시스템에서 자동으로 처리
- 사용자가 알림 미리보기를 숨기는 옵션을 선택할 경우를 대비해 표시할 일반적인 설명 텍스트를 입력하자
- 이 경우 시스템에서는 앱 아이콘과 기본 제목인 "알림"만 표시된다.
- 사람들이 전체 알림을 볼지 여부를 알 수 있도록 충분한 컨텍스트를 제공하려면 "친구 요청", "새 댓글", "알림", "배송"과 같이 너무 많은 세부 정보를 노출하지 않고 알림 내용을 간결하게 설명하는 본문 텍스트를 작성하자. 이 텍스트에는 문장 스타일의 대문자를 사용한다. (개발자 가이드)
- 앱 이름이나 아이콘은 자동으로 들어가기 때문에 별도로 추가하지 말자
- 알림을 보완하기 위해 소리를 제공하는 것을 고려하자
- 사운드는 사용자의 주의를 끌 수 있는 좋은 방법이 될 수 있다.
- 앱의 스타일에 맞는 커스텀 사운드를 만들거나 시스템에서 제공하는 것을 사용할 수 있다.
- 커스텀 사운드의 경우에는 짧고 독특하며 전문적으로 제작되었는지 확인하자.
- 알림음은 사용자 경험을 향상시킬 수 있지만, 사람들이 듣지 못할 수 있기 때문에 의존해서는 안 된다.
- 알림 소리와 함께 진동이 발생하는 것을 원할 수 있지만 프로그램밍적으로 이것을 제공할 수 는 없다.
Notification actions
- 알림은 사람들이 앱을 열지 않고도 작업을 수행하는데 사용하는 최대 4개의 버튼이 포함ㅁ된 커스텀 가능한 상세 보기를 표시할 수 있다. (개발자 가이드)
- 예를 들어 캘린더 이벤트 알림에는 이벤트의 알림을 몇 분 동안 연기하는 스누즈 버튼이 제공된다.
- 맥락에 맞는 유용한 작업을 제공하자
- 각 버튼에는 동작의 결과를 명확하게 설명하는 짧은 대소문자 용어 또는 문구를 사용하자
- 버튼 Label에 앱 이름이나 불필요한 정볼르 포함하지 말고, 텍스트가 잘리지 않도록 간결하게 작성, 그리고 Localization을 고려하자!
- 단순히 앱을 여는 동작을 제공하지는 말자
- non-destructive 액션을 선호한다.
- destructive한 동작을 제공해야 하는 경우에는 의도하지 않은 결과를 피할 수 있도록 사람들에게 충분한 맥락을 제공해야 한다.
- 시스템에서는 사용자가 destructive한 것으로 식별한 동작을 뚜렷하게 표시한다.
- 각 알림 액션에 대해 간단하고 알아볼 수 있는 인터페이스 아이콘을 사용하자
- 사람들이 각 작업의 기능을 즉시 이해할 수 있도록 돕는다.
- 시스템에서는 작업 제목 뒤에 아이콘을 표시한다.
Badging
배지는 앱 아이콘에 표시되어 읽지 않은 알림의 수를 나타내는 숫자가 들어 있는 타원형 뷰이다.
읽지 않은 알림을 해결하면 앱 아이콘에서 배지가 사라졌다가 새 알림이 도착하면 다시 나타난다.
사용자는 알림 설정에서 배지를 표시하도록 허용할지 여부를 선택할 수 있다.
- 배지는 안 읽은 알림의 개수를 표시하는 용도로만 사용하자
- 날씨, 시간, 게임 점수 등 알림과 관련 없는 숫자 정보를 전달하는 데 배지를 사용하면 안 된다.
- 배지가 필수 정보를 전달하는 유일한 방법이면 안 된다.
- 사용자가 배지를 끌 수 있기 때문
- 배지를 최신 상태로 유지하자!!!
- 사람들이 해당 알림을 열자마자 앱의 배지를 업데이트 해야 한다.
- 배지의 개수를 0으로 줄이면 알림 센터에서 관련 알림이 모두 제거된다.
- 배지의 모양이나 동작을 모방한 사용자 지정 이미지나 구성 요소를 만들지 말자!
- 사용자가 배지를 껐는데 배지처럼 보이는 것을 보게되면 실망하게 될 것이다.
'iOS > HIG' 카테고리의 다른 글
[HIG] Patterns - Launching (0) | 2023.07.07 |
---|---|
[HIG] Patterns - Loading (0) | 2023.06.30 |
[HIG] Components - Edit menus (0) | 2023.06.16 |
[HIG] Components - Labels (0) | 2023.06.02 |
[HIG] Components - Toggles (0) | 2023.05.11 |
댓글