Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] : 네트워크 연결 해제, 배터리 부족 등 예외 상황의 FCM 처리 #115

Open
sujin-kk opened this issue Aug 16, 2022 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@sujin-kk
Copy link
Member

sujin-kk commented Aug 16, 2022

버그 현상

  1. 네트워크 해제 등의 이슈로 푸쉬알림이 무시되어 사용자가 받지 못할 수 있는 문제
  2. 앱을 사용중인 Foreground에서도 푸쉬알림이 잘 오는지 확인하기 (Background에선 잘 오는 것 확인 됨)

재연 시나리오

현재 클라이언트에서 푸쉬 메시지를 받아오는 로직은 다음과 같이,

서버에서 보내는 메세지를 감지하여, message data가 isNotEmpty이면
showNotification 함수(알림을 안드로이드 기기에 노출하는 함수) 를 호출 합니다.

image

기대하는 바

참조문서

파이어베이스 공식문서를 보면 message.data.isNotEmpty()안에서도
handleNow()scheduleJob() 으로 메세지 처리가 나누어집니다.

제가 구현한 코드는 handleNow() 만을 구현한 것이고,
scheduleJob은 예상치 못한 이슈로 메세지 받는 과정이 지연될 때 해당 작업을 처리하는 코드입니다.

이 처리를 해주지 않으면 네트워크 해제 등의 이슈로 푸쉬알림이 무시되어 사용자가 받지 못할 수 있기 때문에 WorkerManager로 관리하려고 하였습니다.

  • 또한 현재 백그라운드에서 알림이 잘 오는 것 확인하였는데, 앱이 켜져있는 포그라운드 상태에서 푸쉬알림이 오는지는 확인이 되지 않는 상태라, 체크해보고 안되어있으면 수정할 계획입니다.

image

Screenshots

**Smartphone **

  • Device: [e.g. Galaxy S10+]
  • OS: [e.g. Android 12]
  • Version [e.g. 1.0.1]

Additional context

@sujin-kk sujin-kk added the bug Something isn't working label Aug 16, 2022
@sujin-kk sujin-kk self-assigned this Aug 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant