Android Notifications
Priority: P2 (OPTIONAL)
Push notifications using Firebase Cloud Messaging.
Implementation Guidelines
- Channels: Create
NotificationChannelwith a unique ID (required for API 26+). Notifications without a valid channel are silently dropped. UseNotificationCompatfor backwards compatibility. - Permissions: Explicitly request
POST_NOTIFICATIONSon Android 13+ (API 33). Avoid requesting system permission on app launch; show a priming dialog first to explain the benefit. - Service: Implement
FirebaseMessagingServicewithonMessageReceivedandonNewTokenfor background push handling. Declare the service inAndroidManifestwith theMESSAGING_EVENTintent action. - Flow: Handle notification taps in both
onCreateandonNewIntentusingPendingIntent. Pass data between activities viaIntentextras. - Payload: Limit the notification payload to essential IDs. Perform background data fetching via WorkManager if more data is needed.
Anti-Patterns
- No Missing Channel: Notifications fail silently without channels on API 26+.
- No Unconditional Requests: Don't spam permission dialog on first launch.
- No Missing Manifest: Service must be declared with
MESSAGING_EVENTaction.