Flutter Notifications
Priority: P1 (OPERATIONAL)
Push and local notification handling using firebase_messaging and flutter_local_notifications.
Implementation Workflow
- Set up packages — Add
firebase_messaging(Push) andflutter_local_notifications(Local/Foreground). - Request permission — Prime users with a custom dialog explaining benefits before the system prompt.
- Handle all lifecycle states — Implement handlers for Foreground, Background, and Terminated states.
- Validate payloads — Strictly validate notification data before navigating to screens.
- Clear badges — Manually clear iOS app badges when visiting relevant screens.
Lifecycle Handlers Example
See implementation examples for foreground, background, and terminated state notification handling.
Anti-Patterns
- ❌ Requesting permission on startup without context — show a primer dialog first
- ❌ Missing
getInitialMessage()handler — breaks "open from terminated" state - ❌ Leaving badges un-cleared — frustrates users; clear on relevant screen visits
- ❌ Navigating from raw JSON payloads without validation — causes crashes on malformed data
Related Topics
flutter-navigation | mobile-ux-core | firebase/fcm