Agent Skills: Android Notifications

Integrate push notifications on Android using Firebase Cloud Messaging and NotificationCompat. Use when integrating FCM or local notifications in Android apps. (triggers: **/*Notification*.kt, **/MainActivity.kt, FirebaseMessaging, NotificationCompat, NotificationChannel, FCM)

UncategorizedID: hoangnguyen0403/agent-skills-standard/android-notifications

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/android/android-notifications

Skill Files

Browse the full folder contents for android-notifications.

Download Skill

Loading file tree…

skills/android/android-notifications/SKILL.md

Skill Metadata

Name
android-notifications
Description
Integrate push notifications using Firebase Cloud Messaging and NotificationCompat on Android. Use when setting up FCM, creating notification channels, or handling local notifications.

Android Notifications

Priority: P2 (OPTIONAL)

Implementation Guidelines

  • Channels: Create NotificationChannel with unique ID (required for API 26+). Notifications without valid channel silently dropped. Use NotificationCompat for backwards compatibility.
  • Permissions: Explicitly request POST_NOTIFICATIONS on Android 13+ (API 33). Avoid requesting system permission on app launch; show priming dialog first to explain benefit.
  • Service: Implement FirebaseMessagingService with onMessageReceived and onNewToken for background push handling. Declare service in AndroidManifest with MESSAGING_EVENT intent action.
  • Flow: Handle notification taps in both onCreate and onNewIntent using PendingIntent. Pass data between activities via Intent extras.
  • Payload: Limit notification payload to essential IDs. Perform background data fetching via WorkManager if more data 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 declared with MESSAGING_EVENT action.

References