본문 바로가기
Flutter

[Flutter] 플러터 - AOS, terminated시 fcm 수신 불가

by s_hoonee 2024. 4. 8.
반응형

백그라운드에서 수신 잘 받는데 터미네이트 상태에서는 알림이 오질 않는 경우가 발생했다.

data필드에 푸시 알림 정보를 넣어주고 있었고 포어그라운드랑 백그라운드에서는 잘 동작하기에 기타 설정이 잘 못 됐다고 생각하지 않았지만 이런 저런 가능성은 열어두고 경우의 수를 따져보았다.

 

1. 스와이프로 종료시 알림이 안 오는 경우

-> 기기 제조사에게 화이트리스를 신청하는 방법 밖에..없다고 한다

"이는 장치별로 다르므로( 게시물에서 언급한 대로: OPPO F1 시리즈 휴대폰 ) 해당 장치의 멀티태스킹 트레이에서 앱이 중지 되면 실제로 앱이 종료되어 서비스 및 오류가 발생할 가능성이 매우 높습니다. "

https://stackoverflow.com/questions/39504805/android-app-not-receiving-firebase-notification-when-app-is-stopped-from-multi-t

 

Android app not receiving Firebase Notification when app is stopped from multi-task tray

I have read a similar question on SO, however, I was not able to get the correct answer from it. I have a system wherein we send notification to around 500 devices. Unfortunately, many of these d...

stackoverflow.com

2. 리빌드 하기

디바이스 연결 -> 빌드 -> 케이블 제거 -> 앱 제거 후 다시 빌드(실행)

많은 사람들이 추천해준 방법이였으나 아쉽게도 실패.

 

3. [해결] debug 모드..... 테스크 관리 매니저 문제 해결

코드상의 문제가 아닌, 앱을 debug 모드로 run 상태로 빌드된 앱인 경우 메모리 관리 측면에서 테스크메니저에서 제거하면(스와이프로 종료) 강제 종료되서 fcm 수신이 안되었던 것!

release의 경우 Run으로 빌드해도 테스크매니저에서 지워도 강제 종료되지는 않았다.