포인트 소멸 알림 푸시 발송
목차
포인트 소멸 알림 발송 기능 추가
2026-03-30에 알림(푸시/FCM) 관련 기능을 추가하거나 개선했음.
FCM(Firebase Cloud Messaging)으로 Android 앱에 푸시 알림을 보내는 구조임. 결제 완료, 잔액 변동, 쿠폰 만료 같은 이벤트에서 알림을 트리거함.
알림 유형
| 유형 | 트리거 |
|---|---|
| 결제 완료 | 결제 성공 시 |
| 잔액 소멸 예정 | 만료 N일 전 배치 |
| 운영 공지 | 관리자 발송 |
FCM 발송은 비동기로 처리해서 메인 트랜잭션에 영향을 주지 않게 했음. 알림 발송 실패가 결제 처리 자체에 영향을 주면 안 됨.
FCM 재시도 로직도 붙어 있음. 일시적 네트워크 오류나 FCM 서버 이슈로 실패한 경우 재시도하는 배치가 주기적으로 실행됨.
끝
작업 규모는 크지 않았지만 운영 안정성을 위한 필요한 변경이었음. 이런 작은 수정들이 쌓여서 전체 시스템의 신뢰도를 높임.
Android 알림 수신 서비스 구조
NotificationListenerService는 시스템이 재시작하면 자동으로 종료될 수 있음. START_STICKY를 반환해서 시스템이 강제 종료해도 재시작하도록 처리함.
Android 13+부터 알림 권한이 런타임 요청으로 바뀌어서 앱 최초 실행 시 권한 요청 다이얼로그를 보여주는 로직이 필요함.
배포 채널이 구글 플레이가 아닌 직접 APK 배포라서 자체 업데이트 체크 로직을 서버 API로 구현해둔 상태임.
MediaProjection Android 14+ 이슈
Android 14부터 MediaProjection을 재사용하려면 기존 세션을 명시적으로 종료하고 새로 요청해야 함. 이전 버전에서 쓰던 인스턴스 재사용 방식이 14+에서 크래시를 일으킴.
버전 체크로 분기해서 처리하거나, 아예 매번 새로 요청하는 방식으로 통일하는 게 안전함.
다음
댓글 0
첫 댓글 달아줘.