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
'misc' 카테고리의 다른 글
[발표자료] 개발자의 관점에서 바라본 UX 이론 - 220718 매쓰팡 사내 세션 (0) | 2022.08.21 |
---|---|
[Git] 이전에 작업한 브랜치로 바꾸기:`git checkout -` (0) | 2022.01.10 |
프로그래밍의 본질 - from 개발자의 평생공부 칼럼 (0) | 2021.08.21 |