알림 정보

알림은 Android에서 앱 UI 외부에 표시하여 사용자에게 알림, 다른 사람의 커뮤니케이션 또는 앱의 기타 시기적절한 정보를 제공하는 메시지입니다. 사용자는 알림을 탭하여 앱을 열거나 알림에서 직접 작업을 실행할 수 있습니다.

이 페이지에서는 알림이 표시되는 위치와 사용할 수 있는 기능을 간략하게 알아봅니다.

구현 가이드

다음 가이드에서는 앱에서 다양한 알림 기능을 구현하는 방법을 보여줍니다.

알림 디자인 및 상호작용 패턴에 관한 자세한 내용은 알림 디자인 가이드를 참고하세요.

기기에 표시되는 형식

알림은 다양한 위치와 형식으로 사용자에게 자동으로 표시됩니다. 알림은 상태 표시줄의 아이콘, 알림 창의 더 자세한 항목, 앱 아이콘의 배지로 표시됩니다.

교차 기기 행동

알림은 기본적으로 페어링된 웨어러블에도 표시됩니다. 알림 콘텐츠가 소스 기기와만 관련된 시나리오에서는 setLocalOnly()를 사용합니다. 예를 들어 미디어 다운로드가 완료되었음을 확인하는 알림이 있습니다. Wear OS 알림과 관련된 자세한 내용은 Wear OS 알림 가이드를 참고하세요.

상태 표시줄 및 알림 창

알림을 실행하면 처음에는 상태 표시줄에 아이콘으로 표시됩니다.

그림 1. 알림 아이콘은 상태 표시줄 왼쪽에 표시됩니다.

사용자는 상태 표시줄을 아래로 스와이프하여 알림 창을 열 수 있습니다. 알림 창에서 세부정보를 확인하고 알림으로 작업을 실행할 수 있습니다.

그림 2. 알림 창의 알림

사용자는 창의 알림에서 아래로 드래그하여 상세 내용을 펼쳐볼 수 있으며, 여기에는 제공되는 경우 추가 콘텐츠와 작업 버튼이 표시됩니다. Android 13부터 이 확장된 뷰에는 사용자가 진행 중인 포그라운드 서비스가 있는 앱을 중지할 수 있는 버튼이 포함되어 있습니다.

알림은 앱이나 사용자가 닫을 때까지 알림 창에 계속 표시됩니다.

헤드업 알림

Android 5.0부터는 헤드업 알림이라는 플로팅 창에 알림이 잠시 표시될 수 있습니다. 이 동작은 일반적으로 사용자가 즉시 알아야 하는 중요한 알림에 사용되며 기기가 잠금 해제된 경우에만 표시됩니다.

그림 3. 포그라운드 앱 앞에 헤드업 알림이 표시됩니다.

헤드업 알림은 앱에서 알림을 전송할 때 표시됩니다. 잠시 후 사라지지만 평소와 같이 알림 창에 계속 표시됩니다.

헤드업 알림을 트리거할 수 있는 조건은 다음과 같습니다.

  • 사용자의 활동이 전체 화면 모드인 경우(예: 앱에서 fullScreenIntent를 사용하는 경우)

  • 알림의 우선순위가 높고 Android 7.1 (API 수준 25) 이하를 실행하는 기기에서 벨소리 또는 진동을 사용합니다.

  • 알림 채널은 Android 8.0 (API 수준 26) 이상을 실행하는 기기에서 중요도가 높습니다.

잠금 화면

Android 5.0부터는 잠금 화면에 알림을 표시할 수 있습니다.

앱에서 게시한 알림을 보안 잠금 화면에 표시할지 여부와 표시할 경우 표시되는 세부정보 수준을 프로그래매틱 방식으로 설정할 수 있습니다.

사용자는 시스템 설정을 사용하여 잠금 화면 알림에 표시되는 세부정보 수준을 선택하거나 모든 잠금 화면 알림을 사용 중지할 수 있습니다. Android 8.0부터 사용자는 각 알림 채널의 잠금 화면 알림을 사용 중지하거나 사용 설정할 수 있습니다.

그림 4. 민감한 콘텐츠가 숨겨진 잠금 화면의 알림

자세한 내용은 잠금 화면 공개 상태 설정을 참고하세요.

앱 아이콘 배지

Android 8.0 (API 수준 26) 이상을 실행하는 기기의 지원되는 런처에서 앱 아이콘은 해당 앱 런처 아이콘에 알림 표시 점이라고 하는 색상이 지정된 배지로 새 알림을 표시합니다.

사용자는 앱 아이콘을 길게 터치하여 해당 앱의 알림을 볼 수 있습니다. 사용자는 알림 창과 마찬가지로 이 메뉴에서 알림을 닫거나 알림에 대한 작업을 실행할 수 있습니다.

그림 5. 알림 배지 및 길게 터치 메뉴

배지 작동 방식에 관한 자세한 내용은 알림 배지 수정을 참고하세요.

Wear OS 기기

사용자에게 페어링된 Wear OS 기기가 있는 경우 확장 가능한 세부정보 및 작업 버튼을 포함한 모든 알림이 자동으로 표시됩니다.

웨어러블에서 알림 모양을 맞춤설정하고 추천 답장, 음성 입력 답장 등 다양한 작업을 제공하여 환경을 개선할 수 있습니다. 자세한 내용은 알림에 웨어러블 특정 기능을 추가하는 방법을 참고하세요.

그림 6. 알림은 페어링된 Wear OS 기기에 자동으로 표시됩니다.

알림 구성

알림 디자인은 시스템 템플릿에 의해 결정되며 앱은 템플릿의 각 부분에 대한 콘텐츠를 정의합니다. 알림의 일부 세부정보는 확장된 뷰에만 표시됩니다.

그림 7. 기본 세부정보가 포함된 알림

알림의 가장 일반적인 부분은 그림 7에 다음과 같이 표시됩니다.

  1. 작은 아이콘: 필수, setSmallIcon()를 사용하여 설정합니다.
  2. 앱 이름: 시스템에서 제공합니다.
  3. 타임스탬프: 시스템에서 제공하지만 setWhen()를 사용하여 재정의하거나 setShowWhen(false)를 사용하여 숨길 수 있습니다.
  4. Large icon: 선택사항이며 일반적으로 연락처 사진에만 사용됩니다. 앱 아이콘에 사용하지 마세요. setLargeIcon()를 사용하여 설정합니다.
  5. 제목: 선택사항이며 setContentTitle()를 사용하여 설정합니다.
  6. 텍스트: 선택사항, setContentText()를 사용하여 설정합니다.

모든 기기에서 적절한 디자인 호환성을 위해 시스템 템플릿을 사용하는 것이 좋습니다. 필요한 경우 맞춤 알림 레이아웃을 만들 수 있습니다.

이러한 기능 등을 사용하여 알림을 만드는 방법에 관한 자세한 내용은 알림 만들기를 참고하세요.

알림 작업

필수는 아니지만 모든 알림을 탭할 때 적절한 앱 활동을 여는 것이 좋습니다. 이 기본 알림 작업 외에도 그림 8과 같이 알림에서 앱 관련 작업을 완료하는 작업 버튼을 추가할 수 있습니다(활동을 열지 않고도 가능).

그림 8. 작업 버튼이 있는 알림

Android 7.0 (API 수준 24)부터는 알림에서 직접 메시지에 답장하거나 다른 텍스트를 입력하는 작업을 추가할 수 있습니다.

Android 10(API 수준 29)부터 플랫폼에서는 추천된 인텐트 기반 작업으로 작업 버튼을 자동 생성할 수 있습니다.

작업 버튼 추가에 관한 자세한 내용은 알림 만들기를 참고하세요.

잠금 해제된 기기 요구

기기의 잠금 화면에 알림 작업이 표시될 수 있습니다. 알림 작업으로 인해 앱이 활동을 실행하거나 바로 답장을 보내는 경우 사용자가 기기를 잠금 해제해야 앱이 알림 작업을 호출할 수 있습니다.

Android 12 (API 수준 31) 이상에서는 앱이 알림 작업을 호출하려면 작업이 실행하는 워크플로와 관계없이 기기가 잠금 해제되어야 하도록 알림 작업을 구성할 수 있습니다. 이 옵션은 잠긴 기기의 알림에 보안 레이어를 추가합니다.

앱이 특정 알림 작업을 호출하기 전에 기기를 잠금 해제하도록 하려면 다음 코드 스니펫과 같이 알림 작업을 만들 때 true를 setAuthenticationRequired()에 전달합니다.

val intent = Intent(
    context, null
    /** Replace with a valid target activity */
)
val moreSecureNotification = NotificationCompat.Action.Builder(
    0, "Reply",
    PendingIntentCompat.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE, false)
)
    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

확장 가능한 알림

기본적으로 알림의 텍스트 콘텐츠는 한 줄에 맞춰 잘립니다. 알림을 더 길게 하려면 그림 9와 같이 추가 템플릿을 적용하여 확장 가능한 더 큰 텍스트 영역을 사용 설정하면 됩니다.

그림 9. 긴 텍스트를 위한 확장형 알림입니다.

이미지, 받은편지함 스타일, 채팅 대화 또는 미디어 재생 컨트롤을 사용하여 확장 가능한 알림을 만들 수도 있습니다. 자세한 내용은 확장 가능한 알림 만들기를 참고하세요.

알림 업데이트 및 그룹

추가 업데이트가 있을 때 사용자에게 여러 개의 알림 또는 중복된 알림을 보내지 않으려면 새 알림을 실행하는 대신 기존 알림을 업데이트하거나 수신함 스타일 알림을 사용하여 대화 업데이트를 표시하세요.

하지만 여러 알림을 전송해야 하는 경우 Android 7.0 이상에서 사용할 수 있는 별도의 알림을 그룹으로 그룹화하는 것이 좋습니다.

알림 그룹을 사용하면 여러 알림을 알림 창의 하나의 게시물로 요약과 함께 축소할 수 있습니다. 사용자는 그림 10과 같이 알림 그룹과 그룹 내의 각 알림을 점진적으로 펼쳐서 자세한 내용을 확인할 수 있습니다.

그림 10. 접힌 알림 그룹과 펼쳐진 알림 그룹

그룹에 알림을 추가하는 방법을 알아보려면 알림 그룹 만들기를 참고하세요.

알림 채널

Android 8.0 (API 수준 26)부터는 모든 알림을 채널에 할당해야 합니다. 그렇지 않으면 알림이 표시되지 않습니다. 이렇게 하면 사용자가 앱의 모든 알림을 사용 중지하는 대신 앱의 특정 알림 채널을 사용 중지할 수 있습니다. 사용자는 그림 11과 같이 Android 시스템 설정에서 각 채널의 시각 및 청각 옵션을 제어할 수 있습니다. 사용자는 알림을 길게 터치하여 연결된 채널의 동작을 변경할 수도 있습니다.

Android 7.1 (API 수준 25) 이하를 실행하는 기기에서는 사용자가 앱별로만 알림을 관리할 수 있습니다. Android 7.1 이하에서는 각 앱에 채널이 하나만 있습니다.

그림 11. 시계 앱 및 채널 중 하나의 알림 설정

앱은 앱에서 전송하는 각 알림 유형에 대해 별도의 채널을 가질 수 있습니다. 앱은 사용자의 선택에 따라 알림 채널을 만들 수도 있습니다. 예를 들어 메시지 앱에서 사용자가 만든 각 대화 그룹에 별도의 알림 채널을 설정할 수 있습니다.

채널은 Android 8.0 이상에서 알림의 중요도 수준을 지정하는 곳이기도 하므로 동일한 알림 채널에 게시된 모든 알림은 동일한 동작을 합니다. 이에 대해서는 다음 섹션에서 설명합니다.

자세한 내용은 알림 채널 만들기 및 관리를 참조하세요.

알림 중요도

Android는 알림의 중요도를 사용하여 알림이 시각적 및 청각적으로 사용자를 얼마나 방해하는지 결정합니다. 알림의 중요도가 높을수록 알림이 더 많이 방해됩니다.

Android 7.1 (API 수준 25) 이하에서는 알림의 중요도가 알림의 priority에 따라 결정됩니다.

Android 8.0 (API 수준 26) 이상에서는 알림이 게시되는 채널의 importance에 따라 알림의 중요도가 결정됩니다. 사용자는 그림 12와 같이 시스템 설정에서 알림 채널의 중요도를 변경할 수 있습니다.

그림 12. 사용자는 Android 8.0 이상에서 각 채널의 중요도를 변경할 수 있습니다.

가능한 중요도 수준과 관련 알림 동작은 다음과 같습니다.

  • 긴급: 소리가 나고 헤드업 알림으로 표시됩니다.

  • 높음: 소리가 납니다.

  • 중간: 소리가 나지 않습니다.

  • 낮음: 소리가 나지 않으며 상태 표시줄에 표시되지 않습니다.

중요도와 관계없이 모든 알림은 알림 창 및 런처 아이콘의 배지와 같이 방해되지 않는 시스템 UI 위치에 표시됩니다. 하지만 알림 배지의 모양을 수정할 수 있습니다.

자세한 내용은 중요도 설정 방법을 참고하세요.

방해 금지 모드

Android 5.0 (API 수준 21)부터 사용자는 모든 알림의 소리와 진동을 음소거하는 방해 금지 모드를 사용 설정할 수 있습니다. 사용자가 달리 지정하지 않는 한 알림은 평소와 같이 시스템 UI에 표시됩니다.

방해 금지 모드에는 세 가지 수준이 있습니다.

  • 모두 차단: 알람, 음악, 동영상, 게임의 소리를 비롯해 모든 알림음과 진동을 차단합니다.
  • 알람만: 알람을 제외한 모든 알림음과 진동을 차단합니다.
  • 우선순위만: 사용자는 알람, 리마인더, 일정, 통화 또는 메시지와 같이 자신을 방해할 수 있는 시스템 전체 카테고리를 구성할 수 있습니다. 메시지와 통화의 경우 사용자는 그림 13과 같이 발신자 또는 발신자를 기준으로 필터링할 수 있습니다.
그림 13. 사용자는 시스템 전체 카테고리 (왼쪽) 및 발신자 (오른쪽)를 기반으로 알림을 허용할 수 있습니다.

Android 8.0(API 수준 26) 이상에서는 사용자가 채널별로 방해 금지 모드를 재정의하여 앱별 카테고리(채널이라고도 함)를 통해 알림을 추가로 허용할 수 있습니다. 예를 들어 결제 앱에는 출금 및 입금과 관련된 알림 채널이 있을 수 있습니다. 사용자는 우선순위 모드에서 출금 알림, 입금 알림 또는 둘 다 허용할 수 있습니다.

Android 7.1 (API 수준 25) 이하를 실행하는 기기에서는 사용자가 채널별이 아닌 앱별로 알림을 허용할 수 있습니다.

이러한 사용자 설정에 대한 알림을 구성하려면 시스템 전체 카테고리를 설정해야 합니다.

포그라운드 서비스의 알림

앱이 포그라운드 서비스를 실행 중인 경우 알림이 필요합니다. 포그라운드 서비스는 백그라운드에서 실행되는 Service로, 미디어 플레이어와 같이 오래 지속되고 사용자에게 표시됩니다. 이 알림은 다른 알림과 달리 닫을 수 없습니다. 알림을 삭제하려면 서비스를 중지하거나 포그라운드 상태에서 삭제해야 합니다.

자세한 내용은 포그라운드 서비스를 참고하세요. 미디어 플레이어를 빌드하는 경우 백그라운드에서 미디어 재생도 참고하세요.

알림 동작

Android 16.0, API 수준 36

이제 앱을 대신하여 알림이 자동으로 그룹화됩니다.

다음 알림은 자동으로 그룹화됩니다.

  • 요약이 없는 알림
  • 하위 알림이 없는 알림
  • 하위 알림이 하나이거나 적은 알림

Android 15.0, API 수준 35

쿨다운

Android 15에는 연속으로 빠르게 도착하는 알림 환경을 개선하기 위한 알림 쿨다운 기능이 도입되었습니다. 이 기능은 최대 2분 동안 반복되는 알림의 표시, 음량, 진동 강도를 줄입니다.

주의를 끌기 위해 오디오와 햅틱이 필요한 중요 알림에는 쿨다운이 적용되지 않습니다. 사용자는 설정에서 알림 쿨다운을 사용 중지할 수 있습니다.

그림 14. 알림 쿨다운 설정입니다.