mcpField
F
flutter-notifications

flutter-notifications

github.com/thienqo开发1798 次安装1 天前更新
代码仓库

关于 flutter-notifications

面向 Flutter 开发的通知生命周期技能,涵盖权限、投递约定、点击路由和验证。它帮助团队检查现有应用接线,并针对本地计划通知或远程推送制定方案,而不预设服务商或软件包。

主要功能

  1. 01检查通知与服务商接线
  2. 02定义载荷和投递约定
  3. 03将权限视为用户可控状态
  4. 04验证通知点击目标
  5. 05测试生命周期与载荷情形

适用场景

  1. 01审查现有通知配置
  2. 02设计本地提醒行为
  3. 03处理远程推送令牌和点击
  4. 04测试应用不同状态下的投递

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thienqo/flutter-skills --skill flutter-notifications

安装后在 Claude Code 中输入/flutter-notifications确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
local-notifications.md
platform-delivery.md
remote-push-notifications.md

详细介绍

Flutter 通知

将通知作为一个生命周期来交付,而不是一次插件调用。除非明确要求迁移,否则应保留项目现有的提供方、通知包、架构和路由所有权。

前置检查

在建议初始化、监听器或原生改动之前,先检查 pubspec.yaml、SDK 约束、已启用的平台、原生清单和功能,以及现有通知/提供方的完整接线:初始化、监听器注册、权限流程、服务文件、载荷解析、后端契约、路由交接、持久化、flavor 和测试。找出已证实的缺口,并确认任务涉及本地调度、远程推送,还是两者兼有。如果无法获取仓库证据,应说明仍需检查,并让拟议改动附带条件,而不是假设接线缺失。默认不要添加 Firebase、OneSignal、本地通知包或状态管理包。

建立一份交付契约

定义稳定的通知 ID、载荷版本/类型、允许的字段、目标意图、去重键、时间戳,以及未知或过期载荷的回退行为。通知载荷和日志不得包含机密或敏感的用户、消息、健康、支付或身份验证内容;应发送不透明标识符,并在需要时获取经过授权的领域数据。将通知点击视为不可信的外部输入:先验证,再将类型化意图交给应用的导航所有者。

将权限视为由用户控制的状态。在适当的情境下说明价值后再请求权限;对于平台支持的情况,应区分未确定、临时授权、已拒绝和已授权状态,并提供实用的禁用状态。绝不反复弹出权限请求,也不要暗示通知一定会送达。

确定模式

  • 对于设备端调度的提醒、日历、时区、重复规则、取消或对账,请阅读本地通知。
  • 对于提供方注册、令牌生命周期、前台/后台/终止状态下的送达、点击或静默/数据消息,请阅读远程推送通知。
  • 对于 Android/iOS/web 的限制、权限、功能或设备验证,请阅读平台交付。

仅加载当前任务所需的参考资料。

职责边界

  • flutter-networking 负责常规后端传输和重试机制;本技能负责通知注册和载荷生命周期契约。
  • flutter-persistence 负责存储实现;本技能定义通知对账和幂等性需求。
  • flutter-navigation 负责路由图和返回栈行为;本技能生成经过验证的目标意图。
  • 当现有包无法提供所需功能时,flutter-platform-integration 负责自定义插件或原生桥接。
  • flutter-security 负责更广泛的威胁审查;本技能仍默认对载荷、令牌和送达遥测数据进行脱敏。

验证

尽可能在不使用平台插件的情况下,测试确定性契约、权限、调度/对账、令牌变更、去重和点击路由逻辑。然后在真实平台环境中验证受支持的生命周期路径:前台、后台、从终止状态启动、权限被拒绝、重启、相关时的时区变更,以及格式错误或重复的载荷。仅靠 Flutter 小部件/集成测试无法证明操作系统通知已送达。

报告实际测试的平台和生命周期状态、提供方/后端依赖,以及仍需在设备上验证的缺口。

参考资料

评论

支持 Markdown