저번 Notification 글에 이어 이번 글은 알림 최대 갯수에 관한 포스팅이다.
글을 시작하기 앞서, 여러 자료를 통해 확인한 부분도 있고 내가 수동으로 테스트를 통해 직접 확인한 부분도 있다.
물론 확인되지 않은 부분도 있다. (이런 부분은 계속 짚고 넘어갈 예정이다.)
알림 최대 갯수라고 해서 헷갈릴 수 있는데 앱마다(?) 백그라운드에서 알림이 누적되는 최대치가 있다.
(사실 앱마다인건지 해당 알림의 channelId마다인 지는 정확하지 않다)
아무튼 알림이 누적되는 양이 제한되는데 갤럭시 플래그십 라인업은 24개가 대부분이다. (OS 10 이상)
회사에서 Pixel폰으로 테스트해보았을 때는 50개였다.
(스택오버플로우에서 찾은 구글 소스 코드 원본도 50개가 최대치이다.)
특정 폰에서는 10개까지만 쌓이는 폰도 있다고 봤는데 링크를 찾을 수가 없었다.
최대치로 인해 생기는 문제
알림이 최대치로 쌓이게 되면 이후 알림이 누적되지 않고 무시된다.
만약 알림이 오전 10시에 최대치가 쌓인 상태이면 오전 10시 이후에 도착하는 알림은 더 이상 수신되지 않는다.
해결법
우리는 활성화되어 누적된 알림의 갯수를 알 수 있다.
누적된 알림 갯수가 최대치 이상이면 다음 알림을 notify하기 전, 가장 오래된 알림을 cancel한 뒤 notify를 하면 된다.
아래 첨부한 gist에는 최대치가 10개일 때로 만들어보았다.
https://gist.github.com/BonusTrack02/b23bcffa1afdbe2444dc4781027665ef
참고
https://medium.com/mindorks/the-notification-limit-per-app-in-android-94af69a6862c
https://www.clien.net/service/board/cm_app/17995608
'Android' 카테고리의 다른 글
Codelab으로 Room 알아보기 - 2. Create the SleepNight entity(ㄴ) (0) | 2023.07.09 |
---|---|
Codelab으로 Room 알아보기 - 2. Create the SleepNight entity(ㄱ) (0) | 2023.07.08 |
Android Notification 누적시키기 (0) | 2023.06.16 |
Android Deep Link 사용 시 겪은 에피소드 (1) | 2023.06.14 |
Codelab으로 Room 알아보기 - 1. Download and inspect the starter app (0) | 2023.06.13 |