界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

android-notifications

android-notifications

【效率与协作】Integrate Android app notifications using Firebase Cloud Messaging and NotificationCompat. Use when setting up FCM, notification channels, or client-side notification taps; defer Flutter, server sends, WorkManager orchestration, and generic Intent handling.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: android-notifications description: Integrate Android app notifications using Firebase Cloud Messaging and NotificationCompat. Use when setting up FCM, notification channels, or client-side notification taps; defer Flutter, server sends, WorkManager orchestration, and generic Intent handling. metadata: triggers: files: - '/Notification.kt' - '/MainActivity.kt' keywords: - FirebaseMessaging - NotificationCompat - NotificationChannel - FCM

Android Notifications

Priority: P2 (MEDIUM)

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

我的收藏