푸시 알림은 앱이 열려 있지 않을 때도 사용자에게 알릴 수 있게 합니다 — 메시지, 업데이트, 참여를 위해. React Native에서는 플랫폼 서비스(iOS의 APNs, Android의 FCM), 권한, 기기 토큰, 알림 이벤트 처리를 포함합니다.
푸시 알림 동작 방식 (흐름)
1. 앱이 사용자에게 알림 권한을 요청 (특히 iOS — 옵트인)
2. 기기가 등록되어 고유한 푸시 토큰을 받음 (이 기기/앱 설치를 식별)
3. 앱이 토큰을 당신의 서버로 전송 (이 기기를 타겟팅하기 위해 저장)
4. 서버가 알림 전송 → 플랫폼 서비스를 통해:
iOS는 APNs (Apple Push Notification service), Android는 FCM (Firebase Cloud Messaging)
5. 플랫폼이 기기로 전달 → 앱이 표시/처리
→ 알림은 앱이 닫혀 있어도 동작 (OS가 전달 처리).
React Native에서 구현
→ 라이브러리가 복잡성을 처리:
- Expo Notifications (managed, 더 간단) — Expo 앱용
- @react-native-firebase/messaging (FCM) — bare/크로스 플랫폼에 흔함
- Notifee — 풍부한 로컬/표시 알림
→ 권한 요청, 토큰 받기, 백엔드로 전송, 수신 알림 처리
