skill-level: senior
status: done
Task: Configure FCM Infrastructure
End Goal
Firebase Cloud Messaging is fully configured for both iOS and Android platforms, with FCM dependencies added to the Flutter project and platform-specific configurations in place.
Currently
- No FCM integration exists in the project
- No
firebase_messaging package in pubspec.yaml
- No APNs configuration for iOS
- No FCM configuration in Firebase Console
Should
- FCM is configured in Firebase Console for both iOS and Android
- APNs certificate is uploaded to Firebase Console for iOS push notifications
- Flutter project has
firebase_messaging and flutter_local_notifications packages
- iOS and Android platform files are configured for push notifications
- App can request and receive notification permissions
Constraints
- [ ] Use Playwright MCP for browser automation of Firebase Console and Apple Developer Portal
- [ ] Do not expose any API keys or certificates in version control
- [ ] Follow existing project patterns for environment configuration
- [ ] Ensure APNs certificate is production-ready (not development-only)
Acceptance Criteria
- [ ]
firebase_messaging package is added to pubspec.yaml
- [ ]
flutter_local_notifications package is added to pubspec.yaml
- [ ] iOS
AppDelegate.swift is configured for push notifications
- [ ] iOS
Info.plist has required notification background mode
- [ ] Android
AndroidManifest.xml has required permissions and services
- [ ] Firebase Console shows FCM is enabled for the project
- [ ] APNs certificate is uploaded and valid in Firebase Console
- [ ] App builds successfully on both iOS and Android
Implementation Checklist
- [x] 1.1 Add
firebase_messaging and flutter_local_notifications to pubspec.yaml
- [x] 1.2 Run flutter pub get
- [x] 1.3 Configure iOS AppDelegate for push notifications
- [x] 1.4 Add UIBackgroundModes to iOS Info.plist
- [x] 1.5 Configure Android notification channel in AndroidManifest.xml
- [x] 1.6 Use Playwright to navigate Firebase Console and verify FCM status
- [x] 1.7 Use Playwright to navigate Apple Developer Portal and create APNs key
- [x] 1.8 Use Playwright to upload APNs key to Firebase Console
- [x] 1.9 Verify builds pass on both platforms
Notes
- APNs keys are preferred over certificates for easier management
- The APNs key never expires (unlike certificates)
- Firebase Console URL: https://console.firebase.google.com/project/the-roomy-app/messaging
- Apple Developer Portal: https://developer.apple.com/account/resources/authkeys/list
Reacties