알림 개요

알림은 Android에서 앱의 UI 외부에 표시하는 메시지입니다. 사용자에게 알림, 다른 사람으로부터의 커뮤니케이션 제공, 또는 정보를 수집할 수 있습니다. 사용자는 알림을 탭하여 알림을 통해 직접 조치를 취할 수 있습니다.

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

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

기기에 표시되는 형식

알림은 다양한 위치와 형식으로 사용자에게 자동으로 표시됩니다. 알림은 상태 표시줄에 아이콘으로 나타나며 앱 아이콘에 배지가 있는지 확인할 수 있습니다. 알림 또한 페어링된 웨어러블 기기에 표시됩니다.

상태 표시줄 및 알림 창

알림을 보내면 먼저 상태 표시줄의 아이콘으로 나타납니다.

그림 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에 알림이 자동으로 표시됨 있습니다.

알림 구성

알림의 디자인은 시스템 템플릿과 앱에 따라 결정됩니다. 은 템플릿의 각 부분에 대한 콘텐츠를 정의합니다. Kubernetes의 알림은 확장된 보기에서만 나타납니다.

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

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

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

Google 뉴스 이니셔티브의 적절한 디자인 호환성을 위해 시스템 템플릿을 모든 기기에서 작동합니다. 필요한 경우 맞춤 알림을 만들 수 있습니다. 레이아웃을 참조하세요.

이러한 기능을 사용하여 알림을 만드는 방법과 자세히 알아보려면 광고 소재 세트 알림을 받을 수 있습니다.

알림 작업

필수는 아니지만 모든 알림을 여는 것이 좋습니다. 트리거해야 합니다. 이 기본 설정 외에도 앱 관련 작업을 완료하는 작업 버튼을 추가할 수 있습니다. 일반적으로 활동을 열지 않고 알림에서 나타냅니다.

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

Android 7.0 (API 수준 24)부터 알림에서 직접 다른 텍스트를 입력할 수도 있습니다.

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

작업 버튼 추가에 대한 자세한 내용은 알림을 받을 수 있습니다.

잠금 해제된 기기 요구

기기의 잠금 화면에 알림 작업이 표시될 수 있습니다. 만약 알림을 받으면 앱이 활동을 시작하거나 바로 회신을 보낼 수 있습니다. 사용자가 기기의 잠금을 해제해야 앱에서 알림 작업을 호출할 수 있습니다.

Android 12 (API 수준 31) 이상에서는 알림 작업을 구성할 수 있습니다. 잠금 해제해야 앱이 해당 작업을 호출할 수 있습니다. 어떤 워크플로를 실행하는지에 따라 달라집니다 이 옵션은 잠긴 기기의 알림 보안 기능

앱에서 특정 알림을 호출하기 전에 기기를 잠금 해제하도록 요구 true를 다음 파일에 전달합니다. setAuthenticationRequired() 을 사용하세요.

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

자바

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build();

확장 가능한 알림

기본적으로 알림의 텍스트 콘텐츠는 한 줄에 맞춰 잘립니다. 만약 알림을 더 길게 표시하고 싶은 경우 확장 가능한 확장 가능한 배너 광고를 만듭니다.

그림 9. 확장형 알림 있습니다.

또한 이미지, 받은편지함 스타일, 채팅 대화 또는 미디어 재생 컨트롤로 제어할 수 있습니다. 자세한 내용은 확장 가능한 알림 만들기를 읽어보세요.

알림 업데이트 및 그룹

알림을 받을 때 사용자에게 여러 번 또는 중복된 알림이 전송되지 않도록 하려면 추가 업데이트가 있는 경우 기존 알림을 받는 것이 아니라 기존 이메일 대신 받은편지함 스타일 표시할 알림을 대화 업데이트.

하지만 여러 개의 알림을 전송해야 하는 경우 별도의 알림을 그룹으로 묶습니다(Android 7.0 이상에서 사용 가능).

알림 그룹을 사용하면 여러 알림을 하나의 게시물로 축소할 수 있습니다. 알림 창이 표시됩니다. 사용자는 알림 그룹과 그 안의 각 알림에서 자세한 내용을 확인하세요. 그림 10.

그림 10. 축소 및 확장된 알림 그룹.

그룹에 알림을 추가하는 방법을 알아보려면 그룹 만들기를 참조하세요. 알림을 받을 수 있습니다.

알림 채널

Android 8.0 (API 레벨 26)부터는 모든 알림을 표시되지 않습니다. 이렇게 하면 사용자가 특정 알림을 사용 중지할 수 있습니다. 모든 알림을 사용 중지하는 대신 채널 앱의 모든 알림을 받을 수 있습니다. 사용자가 할 수 있는 작업 Android 시스템에서 각 채널의 시각 및 청각 옵션을 제어 설정하시기 바랍니다. 사용자는 알림을 보류하여 연결된 채널의 동작을 변경할 수 있습니다.

Android 7.1 (API 수준 25) 이하를 실행하는 기기에서 사용자는 앱별로만 알림을 보냅니다. 각 앱에는 실질적으로 채널이 하나만 있음 (Android 7.1 이하에서 사용 가능)

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

앱은 앱에서 보내는 알림의 유형에 따라 별도의 채널을 보유할 수 있습니다. 또한 앱은 사용자가 선택한 내용에 응답하여 알림 채널을 있습니다. 예를 들어, 이메일 주소별로 별도의 알림 채널을 설정할 수 있습니다. 대화 그룹입니다.

또한 채널에서 중요도 수준을 지정합니다. 알림을 받을 수 있으므로 모든 알림이 동일한 알림 채널의 동작도 동일합니다. 자세한 내용은 섹션으로 이동합니다.

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

알림 중요도

Android에서는 알림의 중요도에 따라 알림을 통해 사용자를 시각적 및 청각적으로 방해합니다. 중요도가 높을수록 적을수록 알림이 사용자의 방해를 더 많이 받습니다.

Android의 경우 7.1 (API 수준 25) 이하 버전에서 알림의 중요도는 알림의 priority

Android 8.0 (API 수준 26) 이상에서 알림의 중요성은 인코더-디코더 아키텍처를 importance 드림 알림이 게시될 채널의 ID입니다. 사용자는 중요도를 변경할 수 있고 알림 채널을 설정합니다(그림 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 8.1 (API 수준 27)부터는 앱에서 알림음을 낼 수 없음 전송할 수 있습니다 앱에서 1초 동안 여러 알림을 게시하는 경우 알림이 모두 정상적으로 표시되지만 초당 첫 번째 알림만 알림음을 울립니다.

그러나 Android에서는 알림을 업데이트할 때 속도 제한도 적용합니다. 만약 하나의 알림에 업데이트를 너무 자주 게시(예: 시스템이 업데이트를 떨어뜨릴 수 있습니다

알림 호환성

Android 알림 시스템 UI와 알림 관련 API는 지속적으로 있습니다. 이전 버전을 지원하면서 최신 알림 API 기능 사용 지원 라이브러리 알림 API를 사용하고 NotificationCompat님, 및 그 서브클래스는 물론 NotificationManagerCompat 이렇게 하면 API 수준을 확인하기 위한 조건부 코드를 작성하지 않아도 됩니다. API가 이를 처리합니다

NotificationCompat은 이후 플랫폼에 최신 메서드가 포함될 때 업데이트됩니다. 그러나 NotificationCompat의 메서드를 사용할 수 있는지는 해당 기능이 이전 기기에서 제공됨을 보장합니다. 일부 새로 도입된 API를 호출하면 이전 기기에서는 작동하지 않습니다.

다음은 API 수준별 주요 동작 변경사항을 요약한 Android 알림

Android 5.0, API 수준 21

  • 잠금 화면 및 헤드업 알림을 도입합니다.

  • 사용자가 휴대전화를 방해 금지 모드로 설정하고 기기가 켜져 있을 때 알림을 중단하도록 허용 우선순위 전용 모드입니다.

  • 알림을 잠금 화면에 표시할지 여부를 설정하는 메서드를 추가합니다. 예: setVisibility()), '공개' 버전의 알림 텍스트를 지정합니다.

  • setPriority() 메서드를 추가하여 있습니다. 예를 들어 우선순위를 높음으로 설정하면 헤드업 알림으로 표시됩니다.

  • Android Wear (현재는 Wear OS라고 함)에 알림 스택 지원 추가 기기에서 사용할 수 있습니다. 다음을 사용하여 알림을 스택에 배치 setGroup() 알림 스택(나중에 그룹 또는 번들이라고 함)은 Android 7.0 (API 수준 24)까지만 제공됩니다.

Android 7.0, API 수준 24

  • 알림 템플릿의 스타일을 다시 지정하여 히어로 이미지와 아바타입니다.

  • 3개의 알림 템플릿(메시지 앱용 1개와 다른 2개)을 추가합니다. 확장 가능한 어포던스 및 기타 시스템 장식

  • 휴대폰 및 태블릿과 같은 휴대기기에 대한 지원을 추가합니다. 알림 그룹을 만들 수 있습니다. Android Wear (지금은 Wear라고 함)와 동일한 API를 사용합니다. OS) 알림 스택을 지원합니다.

  • 사용자가 인라인 답장을 사용하여 알림 내에서 답장할 수 있도록 합니다. 그들은 알림의 상위 앱으로 전달됩니다.

Android 8.0, API 수준 26

  • 개별 알림이 특정 채널입니다.

  • 알림을 모두 사용 중지하는 대신 채널별로 사용 중지할 수 있음 알림을 받을 수 있습니다.

  • 활성 알림이 있는 앱이 상단에 알림 배지를 표시하도록 합니다. 홈 또는 런처 화면에서 앱 아이콘을 표시할 수 있습니다.

  • 사용자가 창에서 알림을 일시 중지할 수 있도록 허용합니다. 자동 광고 확장을 시간 제한을 설정할 수 있습니다.

  • 알림의 배경 색상을 설정할 수 있습니다.

  • 알림 동작과 관련된 일부 API를 Notification(으)로 NotificationChannel 예를 들어 NotificationChannel.setImportance() 드림 를 NotificationCompat.Builder.setPriority() (Android 8.0 이상)

Android 13.0, API 수준 33

  • runtime 권한을 부여해야 합니다. 보낼 앱 비예외 알림을 받으면 사용자가 앱에 이 권한을 부여해야 합니다.

Android 14.0, API 수준 34

  • 전체 화면 인텐트 알림을 통화와 알람이 울립니다. NotificationManager.canUseFullScreenIntent API를 사용하여 다음을 수행합니다. 앱에 권한이 있는지 확인합니다. 그렇지 않은 경우 앱에서 ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT: 설정 페이지 실행 여기에서 사용자가 권한을 부여할 수 있습니다.

  • 사용자가 닫을 수 없는 알림을 경험하는 방식을 사용자가 알림을 닫을 수 있도록 Notification.FLAG_ONGOING_EVENT 플래그가 설정되었습니다. 다음 항목에는 적용되지 않습니다. Notification.FLAG_ONGOING_EVENT 플래그가 다음과 같은 경우 CallStyle 알림 기기 정책 컨트롤러 (DPC) 및 제공합니다 이는 휴대전화가 잠겨 있거나 사용자가 모두 지우기를 선택합니다.