FCM을 이용해서 습관 알림을 구현하는 방식에는 아래와 같은 이슈가 있습니다. 사이드 프로젝트로 정해진 시간에 알림을 보내는 기능을 구현하면서 생각했던 이슈를 공유합니다. 참고로 클라이언트는 PWA로 구현하고 있습니다.
이슈
- 기기가 인터넷에 연결되어 있지 않을 때 동작하지 않습니다
- 동시에 1000개의 메세지만 전송할 수 있습니다. 1000개가 넘어가면 사용자가 지정한 시간에 보낼 수 없습니다.
https://stackoverflow.com/questions/42927065/limit-of-bulk-firebase-cloud-messaging#comment83876716_42928210
해결법
- 구글에서는 캘린더 앱과 같은 예시에서는 로컬 알림을 스케줄링 할 것을 권장합니다.
https://firebase.google.com/docs/cloud-messaging/scale-fcm- 그러나 이 방법은 PWA로 구현이 가능할 지 의문이 듭니다
- 아직 유저 수 scale이 동시에 1000개를 보낼 정도로 도달하지 않았으니 일단 진행하고, 추후 알림 기능부터 네이티브로 점진적으로 마이그레이션하는 방법이 있습니다. 이 때 점진적으로 마이그레이션하기 위해서 WebView를 활용할 수 있습니다.
(2-참고) PWA에서 로컬 알림 예약하는 법
아래와 같은 이슈가 있습니다.
- Notification Triggers - 개발 중단
- Periodic Background Sync API - 실험 기능. 정해진 시간에 전송하는 것을 보장 못 함
https://stackoverflow.com/questions/70611006/can-a-pwa-schedule-notifications-when-closed
'Essay > 기술 회고' 카테고리의 다른 글
Jira의 REST API 적용 사례 - 현재 유저가 소유한 리소스 URI 명명법, expand parameter (0) | 2024.08.03 |
---|---|
[Frontend] Apollo 캐시값 갱신 - Troubleshooting 기록 (0) | 2022.01.14 |
[Frontend] Troubleshooting 기록 - 회원가입 로직 (0) | 2022.01.03 |
[React] Apollo client useQuery 요청이 무한 반복됐던 이유 (0) | 2021.08.10 |