Android Notification

Victor·2025년 12월 26일

Notification 개요

Notification 은 앱 UI 외부 디스플레이에 해당 앱 정보를 유저에게 나타내는 메시지다.

Notification 은 여러 형태로 나타낼 수 있으며, Notification을 눌러 앱을 열거나 특정 동작을 할 수 있다.

Notification 표현 방식

1. Status Bar (상태바) 와 Notification Drawer (알림창)

status bar 는 디바이스 최상단에 존재하는 바이며, 왼쪽에 아이콘으로 notification 이 나타난다.

status bar 를 아래로 쓸어내리면 notification drawer 가 나타난다.

notification drawer 에서 notification 의 상세 내용을 확인할 수 있으며 notification 을 통해 특정 동작을 진행할 수 있다. 해당 notification 은 개발자가 지원한 경우 확장 뷰를 제공하며, 확장 뷰에서 추가적인 내용과 특정 동작 실행이 가능한 버튼이 나타난다.

notification drawer 에 존재하는 notification 은 유저가 닫기 전까지 계속 띄워진다.

2. Heads-up Notification (알림 팝업)

플로팅 창에서 간략하게 heads-up notification 이 나타난다.

디바이스가 잠금 해제인 경우에만 나타난다 (삼성 One UI 에서 다르게 기능)

heads-up notification 을 띄우는 방법은 세 가지가 존재한다.

  1. 앱이 fullScreenIntent를 사용할 때, 유저의 Activity가 fullscreen 모드일 때
  2. API 25 이하 버전에서 notification 의 Priority 가 high 이며 음성 또는 진동을 사용할 때
  3. API 26 이상에서 notification channel 의 Importance 가 high 일 때

3. Lock Screen (잠금 화면)

개발자 측에서 코드 개발을 통해 lock screen 에 notification 을 띄울지 말지, 띄워지는 내용의 상세 정도 (없음 - 간략 - 상세) 를 설정할 수 있다.

유저 측에서 시스템 설정 을 사용하여 개발자 측에서 설정한 기본 값을 변경할 수 있다.

Android 8.0 이상에서 단일 앱에 존재하는 여러 채널에 대해 각각 lock screen notification 을 활성화, 비활성화 할 수 있다. (삼성 One UI 6.1 버전부터 해당 기능이 다르게 기능)

4. App Icon Badge

앱 실행 아이콘 옆에 notification dot 이라고 불리는 색상 배지로 notification이 나타난다.

앱 실행 아이콘을 꾹 누르면 해당 앱의 notification 이 쌓인 메뉴가 보이며, notification 을 해제하거나 이를 눌러 특정 활동이 가능하다. (삼성 One UI 에서는 다르게 기능)

Samsung One UI Notification

Android OS 위에서 실행되는 Samsung의 One UI 의 notification 은 AOSP 의 가이드와 약간 다르게 실행되는 부분이 존재한다.

특히 Android 16 (SDK 36) 버전 위에서 돌아가는 One UI 8 버전에서 차이나는 부분이 있다.

1. 잠금 화면에의 Pop-up (Heads-up) Notification 표시 기능

삼성 One UI 8 버전부터 잠금 화면에서 pop-up (heads-up 과 유사한 기능) notification 표시가 가능하다.

2. 각 notification channel 의 notification 활성화/비활성화

삼성 One UI 6.1 버전부터 기본 설정으로 각 notification channel 의 별도 활성화/비활성화 기능 자체가 비활성화 되어있다.

설정 > 알림/알림 > 고급 설정 > 앱별 알림 카테고리 관리

위와 같이 차례 대로 설정 탭을 이동하여 앱별 알림 카테고리 관리 기능을 활성화하면 각 notification channel 의 별도 활성화/비활성화 기능을 사용할 수 있다.

3. App Icon Badge 숫자만 표기

삼성 One UI 의 notification dot 은 단순 알림 개수 표시만 한다.

4. Notification Builder 의 setSilent 메서드 무시

AOSP의 setSilent 메서드 가이드에 따르면, Notification Channel의 소리 및 진동 설정 여부와 관계없이 알림이 무음 처리되어 Heads-up 알림이 나타나지 않아야 한다.

그러나 One UI 8 버전부터는 Notification Channel의 Importance가 Urgent인 경우 해당 메서드가 무시되고 Heads-up 알림이 나타난다.

이를 확인하기 위해 Notification Channel의 Importance와 Notification의 Priority를 변경하며 테스트를 진행했다.

아래 코드는 One UI 8 이전 버전 또는 Android 16 버전의 타 제조사 기기에서 Heads-up 알림이 나타나지 않는 코드다.

Notification Channel의 Importance는 High(Urgent)로 설정했으며, 소리와 진동은 모두 비활성화한다.

Notification의 Priority는 High로, setSilent는 활성화 상태로 설정한다.

One UI 8 버전이 실행되는 디바이스를 제외한 다른 기기에서는 setSilent가 가이드대로 정상 동작하여 Heads-up 알림이 비활성화되나, One UI에서는 동작하지 않는다.

Notification Channel의 sound와 vibration, Notification의 Priority 및 setSilent 설정을 변경하며 테스트했으나, Channel의 Importance를 Low(Medium)로 낮추는 방법 외에 Heads-up 알림을 비활성화하는 방법은 발견하지 못했다.

Android 16 업데이트

Android 16 부터 시스템이 앱을 대신하여 알림을 자동으로 그룹화(Auto-grouped) 한다. 다음과 같은 알림의 경우에 자동 그룹화가 적용된다.

  • 별도의 요약(Summary) 알림을 생성하지 않을 때
  • 자식 알림(Child notifications)이 없이 개별적으로 존재할 때
  • 자식 알림이 하나뿐이거나 적은 수일 때


참고

About notifications  |  Views  |  Android Developers

Create and manage notification channels  |  Views  |  Android Developers

How to use updated notification settings in Samsung One UI 8 | Samsung Philippines

Android heads-up notification not showing

Samsung disables notification channels on all One UI 6.1 devices

0개의 댓글