关于 push-notification-setup
这项技能指导开发者使用 Firebase Cloud Messaging 和原生平台服务,为 iOS 与 Android 应用构建推送通知系统,涵盖设置及通知处理方式。
主要功能
- 01Firebase Cloud Messaging 设置
- 02iOS 与 Android 实现指南
- 03Flutter 实现指南
- 04权限与令牌处理
- 05深层链接与后台通知
适用场景
- 01为应用添加实时通知
- 02通过通知打开指定页面
- 03处理用于数据同步的静默通知
- 04跟踪送达情况与通知偏好
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill push-notification-setup安装后在 Claude Code 中输入/push-notification-setup确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/android-setup-with-kotlin.mdfirebase-cloud-messaging-setup.mdflutter-implementation.mdios-native-setup-with-swift.mdscripts/validate-api.shtemplates/api-scaffold.yaml详细介绍
推送通知设置
目录
概述
使用 Firebase Cloud Messaging 和原生平台服务,为 iOS 和 Android 应用实现全面的推送通知系统。
适用场景
- 向用户发送实时通知
- 实现用户互动功能
- 从通知深度链接到特定屏幕
- 处理静默通知/后台通知
- 跟踪通知分析数据
快速开始
最小可运行示例:
import messaging from "@react-native-firebase/messaging";
import { Platform } from "react-native";
export async function initializeFirebase() {
try {
if (Platform.OS === "ios") {
const permission = await messaging().requestPermission();
if (permission === messaging.AuthorizationStatus.AUTHORIZED) {
console.log("iOS notification permission granted");
}
}
const token = await messaging().getToken();
console.log("FCM Token:", token);
await saveTokenToBackend(token);
messaging().onTokenRefresh(async (newToken) => {
await saveTokenToBackend(newToken);
});
messaging().onMessage(async (remoteMessage) => {
console.log("Notification received:", remoteMessage);
showLocalNotification(remoteMessage);
});
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| Firebase Cloud Messaging 设置 | Firebase Cloud Messaging 设置 |
| 使用 Swift 进行 iOS 原生设置 | 使用 Swift 进行 iOS 原生设置 |
| 使用 Kotlin 进行 Android 设置 | 使用 Kotlin 进行 Android 设置 |
| Flutter 实现 | Flutter 实现 |
最佳实践
✅ 应该做
- 发送通知前请求权限
- 实现令牌刷新处理
- 按优先级使用不同的通知渠道
- 定期验证令牌
- 跟踪通知送达情况
- 实现深度链接
- 处理应用所有状态下的通知
- 使用静默通知进行数据同步
- 在后端安全存储令牌
- 提供用户通知偏好设置
- 在真实设备上测试
❌ 不应该做
- 发送过多通知
- 未经许可就发送通知
- 不安全地存储令牌
- 忽略通知发送失败
- 在负载中发送敏感数据
- 将通知用于垃圾信息
- 忘记处理后台通知
- 在处理程序中执行阻塞调用
- 发送重复通知
- 忽略用户偏好设置
评论
支持 Markdown