애플사이다의 iOS 개발 일지

[HIG] Notifications - title, content, actions 설정 시 고려사항 본문

iOS/영문 공식문서 뜯어보기-iOS

[HIG] Notifications - title, content, actions 설정 시 고려사항

Applecider 2022. 10. 3. 00:54

APNs (Apple Push Notification service)를 스터디하다가 오랜만에 HIG 문서를 읽게 됐다.

참고 - Notifications HIG 문서


요약

Notification은 사용자에게 적당한 시간에 (timely), 중요한 정보를, 한눈에 (at a glance) 전달한다.

 

사용자에게 notification을 보내기 전에 반드시 사용자의 동의 (consent)를 얻어야 한다.

사용자가 동의한 이후, 대부분의 사용자는 설정 앱을 통해 notification 스타일과 notification의 중요도에 따른 알림 시간을 정한다. 

Anatomy

플랫폼에 따라 notification의 다양한 스타일을 활용할 수 있다.

  • 배너 : 잠금 화면 (lock screen), 홈 화면, 데스크탑
  • 배지 : 앱 아이콘
  • 알림 센터 (notification center)

Best practices

  • 최대한 간략하게 notification을 구성한다.
  • 사용자가 반응하지 않더라도 동일한 항목에 대해 여러 개의 notification을 보내지 않는다.
  • 사용자에게 특정 작업을 수행하도록 할 목적으로 notification을 사용하지 않는다.
    - 앱을 열어서 할 작업을 notification에 나타내면, notification이 꺼졌을 때 사용자가 내용을 잊어버리기 쉽다.
    - 사용자가 앱을 열지 않고도 할 수 있는 간단한 작업이라면 notification actions 기능을 활용한다.
  • 에러 메시지를 나타내려면 notification이 아니라 alert를 사용한다.
  • ✅ 앱이 foreground에 있을 때는 notification이 튀지 않도록 한다.
    - 앱이 스크린에 띄워진 상태에서는 notification이 나타나지 않지만, 앱은 계속해서 데이터를 받는다. (?)
    - ex. 사용자가 메일함을 스크린에 띄운 상태에서 새로운 메일이 도착했다면,
       notification을 띄우는 것이 불필요하고 몰입을 방해할 수 있으므로 단순히 읽지 않은 메일 목록에 추가되도록 하는 게 좋다.
  • 사용자 개인정보를 notification에 띄우지 않는다. 

Content

notification의 title을 설정하면, 시스템이 해당 내용을 가장 눈에 잘 띄는 위치인 맨 윗 줄에 나타낸다.

직접적인 커뮤니케이션 기능과 관련된 notification인 경우, 시스템이 자동으로 발신자의 이름을 title area에 나타낸다.

커뮤니케이션과 관련 없는 notification인 경우, title이 없다면 시스템이 앱의 이름을 나타낸다.

  • title은 짧은 것이 좋다.
    - 커뮤니케이션과 관련 없고, 세부적인 title을 제공할 수 없는 경우 (ex. New Document) 차라리 앱 이름을 title로 두는 게 낫다. 
    - title-style capitalization을 사용하고, 마침표를 찍지 않는다.
  • content는 간략하고 가독성 있게 작성한다.
    - complete sentence를 사용한다.
    - 메시지를 truncate (잘림 처리)할 필요가 없다. 필요하면 시스템이 알아서 해준다.
  •  notification 미리보기가 불가할 때 나타낼 설명 텍스트를 제공한다.
    - 사용자가 설정에서 모든 앱에 대한 미리보기를 감추도록 할 수 있다. 이때 시스템은 notification에 앱 아이콘과 default title만 나타낸다. 
    - 사용자가 notification 전체 내용을 볼지 말지 결정할 수 있도록 간결한 body text를 작성한다. 
       (ex. “Friend request,” “New comment,” “Reminder,”  “Shipment”)
    - hiddenPreviewsBodyPlaceholder 프로퍼티에다가 설정하면 된다.
  • 시스템이 알아서 보여주는 앱 아이콘, 앱 이름을 포함시키지 않는다.
  • sound를 제공할지 고려한다.
    - 앱마다 고유의 custom sound를 설정 가능하므로 사용자는 화면을 보지 않고도 특정 앱의 notification을 인지할 수 있다.

Notification actions    

notification에는 custom detail view를 나타내는 기능이 있는데, 
최대 4개까지 버튼을 통해 용자가 앱을 열지 않고도 특정 action을 수행한다.

예를 들어 Calendar event notification은 이벤트 알람을 몇 분간 연기할 수 있는 Snooze 버튼을 제공한다.

  • notification의 context에 맞는 actions를 제공한다.
    - 일반적이고, 시간을 절약할 수 있는 작업을 설정하면 좋다.
    - 버튼에는 title-case의 짧은 텍스트를 사용한다.
  • notification을 탭하면 앱이 열리기 때문에 앱을 여는 목적의 action button은 만들지 않는다.
  •  destructive action은 피한다.
    - 사용자가 의도치 않게 선택할 수 있다.
  • action 버튼에 가독성 좋은 interface 아이콘을 제공한다. 
    - 이 아이콘은 action title의 trailing side에 표시된다.
    - SF Symbols 참고

Badging

배지는 사용자가 읽지 않은 notification의 개수를 나타내기 위해 사용된다.

앱 아이콘에 숫자를 나타낸다.

  • notification과 관련 없는 숫자를 나타내지 않는다.
  • 사용자는 배지를 사용하지 않도록 설정할 수 있다.
    - 중요한 정보는 사용자가 앱을 열자마자 확인 가능하도록 해야 한다.
  • 배지를 지속 업데이트한다.
    - 사용자가 확인한 notification을 반영해서 배지의 숫자를 업데이트한다.
    - ✅ 배지 개수를 0으로 설정하면, 알림 센터의 notification이 모두 사라진다.
  • custom 이미지 등으로 배지의 형태나 동작을 모방하는 것을 지양한다.
    - 설정에서 배지를 사용하지 않도록 설정했는데, 배지가 보이면 안 된다.

Platform considerations  

각 플랫폼에 따라 고려할 사항이다.

구체적인 내용은 일단 iPhone 위주로 보고 있으므로 패스

  • WatchOS : notification을 2개 stage로 구분한다. (short/long look)

 

- Reference

🍎 포스트가 도움이 되었다면, 공감🤍 / 구독🍹 / 공유🔗 / 댓글✏️ 로 응원해주세요. 감사합니다.

Comments