[Android/푸시] 알림 Notification

권한 확인 동작

  • API 32 이하 앱의 경우, 시스템이 자동으로 퍼미션 팝업을 띄웠을 때, 사용자가 Don’t allow 버튼을 한번 누르면, 앱이 재시작해도 팝업이 발생하지 않는다.
  • API 33 이상 앱의 경우, 앱이 퍼미션 팝업을 띄웠을 때, 사용자가 Don’t allow 버튼을 두 번 누르기 전까지 퍼미션 팝업을 계속 띄울 수 있다.
  • 사용자가 Don’t allow 버튼을 눌러서 더 이상 팝업을 띄울 수 없다면 사용자가 직접 앱 설정에 들어가서 권한을 허가해줘야한다.

Android 13에서 변경된 사항

  • POST_NOTIFICATIONS (Notification Permission) 은 Target SDK API 33 이상부터 추가 가능
  • Target SDK API 32 이하의 앱이 Android 13 디바이스에 설치되면 Notification Channel을 등록할 때 자동으로 Notification 권한 요청 팝업이 나옴
  • Target SDK API 33 이상의 앱이 Android 13 디바이스에 설치되면 Notification 권한요청을 개발자가 원하는 타이밍에 노출 가능
  • Target SDK API 33 이상의 앱이 Android 12 이하 디바이스에 설치되면 기존과 동일하게 Notification 권한 요청 없이 사용 가능
  • Target SDK API 32 앱을 33으로 업데이트 시 기존 알림 권한 동의 상태라면 업데이트 이후 기본으로 허용이지만 예외 있음
    • 기기에 따라 자동으로 허용되지 않고 다시 한 번 권한을 얻어야하는 경우가 있음
    • 그렇기 때문에 Notification 권한이 허가되어 있는지 한 번 확인하는 작업을 넣기를 권장함

특성

  • 삼성 폰에서만 노티 아이콘에 색제한이 없다. 구글에서 권장하는 아이콘 색상배열은 투명배경에 흰색을 사용한 아이콘이다.
    배경색이 있는 런처 아이콘을 사용한 경우 픽셀 단말에서 아이콘이 깨진다.
  • 채널 중요도 수준

    출처: Android 공식문서

    ⚠️ setTicker넣었더니 Android API 27에서 테스트하길, 아이콘도 제대로 안나오고 priority high로 설정했는데 헤드업이 안뜸.

  • 가시성 잠금화면상태(system ui가 신뢰할 수 없는)에서 알림의 존재와 내용을 표시하는 방법, 가시성을 설정 (setVisibility()를 이용해 notificaiton에서 설정)
    • VISIBILITY_PUBLIC: 알림의 전체 콘텐츠가 잠금 화면에 표시된다.
    • VISIBILITY_SECRET: 알림의 어느 부분도 잠금 화면에 표시되지 않는다.
    • VISIBILITY_PRIVATE: 알림 아이콘과 콘텐츠 제목과 같은 기본 정보만 잠금 화면에 표시된다. 알림의 전체 콘텐츠가 표시되지 않는다.
  • [Google] 푸시 펼치기 기능은 OS가 아닌 단말에 따라 존재 유무가 달라진다.

Author

LEEJS

Posted on

2024-03-24

Updated on

2026-01-30

Licensed under

댓글