关于 flutter-notifications
面向 Flutter 开发的通知生命周期技能,涵盖权限、投递约定、点击路由和验证。它帮助团队检查现有应用接线,并针对本地计划通知或远程推送制定方案,而不预设服务商或软件包。
主要功能
- 01检查通知与服务商接线
- 02定义载荷和投递约定
- 03将权限视为用户可控状态
- 04验证通知点击目标
- 05测试生命周期与载荷情形
适用场景
- 01审查现有通知配置
- 02设计本地提醒行为
- 03处理远程推送令牌和点击
- 04测试应用不同状态下的投递
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-notifications安装后在 Claude Code 中输入/flutter-notifications确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/local-notifications.mdplatform-delivery.mdremote-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 小部件/集成测试无法证明操作系统通知已送达。
报告实际测试的平台和生命周期状态、提供方/后端依赖,以及仍需在设备上验证的缺口。