본문 바로가기
[Android]

Android 13 알림 채널 디폴트값 이슈 확인

by Hevton 2023. 12. 17.
반응형

 

다들 아시다시피 Android 13 (targetSdk 33) 부터는 POST_NOTIFICATION 권한이 필요하며

옵트 인으로 (런타임) 권한 요청이 필요합니다.

이 권한 요청이 성공적으로 이루어져야 Notification을 이용할 수 있습니다.

 

 

이번에 앱을 업데이트하면서 이슈를 하나 발견했는데, 상당히 골치가 아팠습니다.

 

[ 상황 ]

버전 1인 앱

앱을 설치한 기기 : sdk 33 

targetSdk : sdk 33

 

인 상황에서, 실제로 Notification을 사용하진 않지만 추후를 위해서 creatNotifiationChannel 을 미리 해둔 상태였습니다. (옳지 않긴 하죠..)

하지만 POST_NOTIFICATION 요청을 런타임으로 하진 않았기에, 설정에서 '알림 권한'이 차단된 상황이었습니다.

 

 

이후 버전 2로 업데이트하는 과정에서, 앱에서 알림을 사용하게 되었습니다.

그래서 런타임으로 POST_NOTIFICATION 을 요청하여 사용하게 됐고,

앱을 처음 설치하는 기기에서는 모든 것이 정상적으로 진행되었습니다.

 

하지만 버전 1 -> 버전 2로 업데이트 되는 기기들은

'알림 권한'이 허용이 되더라도, '알림 카테고리' 에 있는, 채널이 비허용된 상황이 허용으로 토글되지가 않는 오류가 있습니다.

 

 

무슨 말이냐면

제 앱을 버전2 앱으로 처음 접해 설치하는 분들은 알림 권한을 요청받게 될테고, 알림 권한을 허용해주게 되면

 

1. 알림 권한 허용

2. 채널 모두 허용

 

이렇게 2번까지 진행이 되는데

 

 

제 앱을 버전 1 앱에서 버전 2 앱으로 업데이트 받는 분들은, 알림 권한을 마찬가지로 요청받게 될테고, 허용하게 되면

 

1. 알림 권한 허용

2. 채널 허용이 토글이 안됨

 

라는 현상이 발생합니다. 

 

 

이는 '권한 요청(POST_NOTIFICATION)' 과 '채널 생성(creatNotificationChannel)' 의 순서가 중요한 것이 아님을 디버깅을 통해서도 확인했습니다.

 

이건 안드로이드에서 의도한건지.. 아닌지..

전혀 이럴 이유가 없어 보이고, 첫 설치 시엔 알림 채널이 모두 다 토글되기 때문에, 그리고 여러 테스트를 다 직접 해본 결과

높은 확률로 안드로이드 관련 오류로 파악됩니다.. 굉장히 골치가 아픕니다.

 

 

해결방법은.. 기존 채널을 사용하지 않고, 새로운 채널을 오픈하여 사용해주면 됩니다..!!

도움이 되셨길 바랍니다!!

 

 

반응형