2.6 KiB
2.6 KiB
Android FCM 설정 (goldenApp / goldenanalysisapp)
기존 goldenApp (~/dev/goldenAnalysis/goldenApp) 과 동일 Firebase 프로젝트를 사용합니다.
1. Firebase Console
- Firebase Console → 프로젝트 goldenanalysisapp
- 앱 추가 → Android
- 패키지 이름:
com.goldenchart.app(CapacitorapplicationId와 동일) google-services.json다운로드
2. 프로젝트에 배치
# 권장: repo 루트 app/google-services.json (com.goldenchart.app 포함)
cp ~/Downloads/google-services.json app/google-services.json
./scripts/ensure-android-google-services.sh
# 또는 한 번에
./scripts/setup-android-fcm.sh ~/Downloads/google-services.json
빌드 시 ensure-android-google-services.sh 가 app/google-services.json 을
app/android/app/google-services.json 으로 복사합니다. 이 파일이 없으면
알림 권한 허용 직후 PushNotifications.register() 에서 앱이 종료될 수 있습니다.
3. 빌드
npm run cap:sync
cd app/android && ./gradlew assembleRelease
google-services.json 이 없으면 Gradle 로그에
google-services plugin not applied 가 나오며 푸시가 동작하지 않습니다.
4. 서버 (exdev)
FIREBASE_ENABLED=truefirebase-service-account.json(goldenanalysisapp 서비스 계정)- 앱 설정에서 FCM 푸시 ON (
fcm_push_enabled)
5. 앱에서 확인
- 2.4 이상 APK 설치 (
google-services.json포함 빌드 필수) - 크래시가 반복되면 앱 삭제 후 재설치 (이전에 허용한 알림 권한 초기화)
- 로그인 → 설정 → FCM 푸시 ON
- 「알림 허용 · FCM 등록」 버튼 → 시스템 팝업에서 허용 (2초 후 등록)
- 테스트 발송 으로 확인
로그인·메인 진입 시에는 알림 권한을 절대 요청하지 않습니다 (2.3+).
FCM 푸시 토글 ON → 「알림 허용 · FCM 등록」 버튼을 눌렀을 때만 권한 팝업이 뜹니다.
goldenApp 과의 차이
| 항목 | goldenApp | GoldenChart (Capacitor) |
|---|---|---|
| 패키지 | com.golden.app |
com.goldenchart.app |
| FCM SDK | 직접 Firebase Messaging | 앱 내장 GoldenFcm 플러그인 (Capacitor Push 미사용) |
| 토큰 등록 | POST /api/fcm/token |
동일 (registerFcmToken) |
| 알림 채널 | golden_alerts |
goldenchart_trade_signals |
로그인 사용자는 userId 기준으로 FCM 토큰을 조회하므로, 웹·모바일 deviceId 가 달라도 푸시를 받을 수 있습니다.