AgentSkillsCN

Flutter Notifications

通过 Firebase Cloud Messaging 和 flutter_local_notifications 为 Flutter 应用实现推送通知与本地通知。

SKILL.md
--- frontmatter
name: Flutter Notifications
description: Push notifications and local notifications for Flutter using Firebase Cloud Messaging and flutter_local_notifications.
metadata:
  labels: [flutter, notifications, fcm, firebase, push, local-notifications]
  triggers:
    files: ['**/*notification*.dart', '**/main.dart']
    keywords:
      [
        FirebaseMessaging,
        FlutterLocalNotificationsPlugin,
        FCM,
        notification,
        push,
      ]

Flutter Notifications

Priority: P1 (OPERATIONAL)

Push and local notifications interactions.

Guidelines

  • Stack: Use firebase_messaging (Push) + flutter_local_notifications (Local/Foreground).
  • Lifecycle: Handle all 3 states explicitly: Foreground, Background, Terminated.
  • Permissions: Prime users with a custom dialog explaining benefits before system request.
  • Navigation: Validate notification payload data strictly before navigating.
  • Badges: Manually clear iOS app badges when visiting relevant screens.

Implementation Details

Anti-Patterns

  • No Unconditional Permission: Don't ask on startup without context.
  • No Missing State Handlers: Forgetting getInitialMessage() breaks "open from terminated".
  • No Forgotten Badge Clear: Leaving notifications un-cleared frustrates users.
  • No Direct Navigation: Parsing JSON payloads without validation leads to crashes.

Related Topics

flutter-navigation | mobile-ux-core | firebase/fcm