You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node-RED中使用fcm-push向Android发送通知的示例流程需求

没问题!我来给你一步步拆解如何用Node-RED搭配fcm-push实现Android通知推送,附上完整的示例流程,你可以直接照着搭:

第一步:准备Firebase密钥和设备Token
  • 先从Firebase控制台下载你的服务账号密钥(JSON文件),或者直接复制里面的private_key和client_email字段内容,后面配置会用到。
  • 确保你已经拿到目标Android设备的FCM Token——这个应该是你APP里获取到的,或者之前用控制台推送时成功过的那个Token。
第二步:安装Node-RED的FCM节点

打开Node-RED的管理面板(右上角的菜单按钮),进入“管理节点”页面,搜索node-red-contrib-fcm-push并安装这个节点,它是专门用来处理FCM推送的。

第三步:搭建完整的Node-RED流程

我给你准备了一个可以直接复用的示例流程,分为4个核心节点,你可以跟着一步步来,或者直接导入完整流程代码:

1. Inject触发节点

用默认的Inject节点就行,配置成手动触发(点击节点上的按钮),或者根据你的需求设置定时触发,用来启动推送流程。

2. Function节点(构造FCM消息)

把这个节点连接到Inject节点,然后把下面的代码粘贴进去,记得替换成你自己的信息:

// 替换成你的Firebase服务账号信息
const fcmConfig = {
    serviceAccount: {
        client_email: "你的client_email@xxx.iam.gserviceaccount.com",
        private_key: "-----BEGIN PRIVATE KEY-----\n你的私钥内容\n-----END PRIVATE KEY-----\n"
    }
};

// 替换成目标设备的FCM Token
const deviceToken = "你的Android设备Token";

// 构造FCM通知内容
msg.payload = {
    to: deviceToken,
    notification: {
        title: "来自Node-RED的通知",
        body: "这是一条测试推送消息",
        sound: "default" // 可选,触发系统默认提示音
    },
    data: { // 可选,自定义数据,你的APP可以解析这些内容做后续处理
        orderId: "12345",
        type: "test"
    }
};

// 将配置传递给FCM Push节点
msg.fcmConfig = fcmConfig;

return msg;

3. FCM Push节点

把Function节点的输出连接到这个节点,不需要额外配置——因为我们已经在Function节点里把Firebase的配置信息传给它了。

4. Debug节点

把FCM Push节点的输出连接到Debug节点,这样你就能在右侧的调试面板里看到推送的结果(成功的响应或者失败的错误信息)。

完整流程代码(可直接导入Node-RED)

你可以把下面的JSON复制到Node-RED的导入对话框里(右上角菜单→导入),导入后再替换里面的占位信息:

[{"id":"a1b2c3d4","type":"inject","z":"your-flow-id","name":"触发推送","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":200,"wires":[["e5f6g7h8"]]},{"id":"e5f6g7h8","type":"function","z":"your-flow-id","name":"构造FCM消息","func":"// 替换成你的Firebase服务账号信息\nconst fcmConfig = {\n    serviceAccount: {\n        client_email: \"你的client_email@xxx.iam.gserviceaccount.com\",\n        private_key: \"-----BEGIN PRIVATE KEY-----\\n你的私钥内容\\n-----END PRIVATE KEY-----\\n\"\n    }\n};\n\n// 替换成目标设备的FCM Token\nconst deviceToken = \"你的Android设备Token\";\n\n// 构造FCM通知内容\nmsg.payload = {\n    to: deviceToken,\n    notification: {\n        title: \"来自Node-RED的通知\",\n        body: \"这是一条测试推送消息\",\n        sound: \"default\"\n    },\n    data: {\n        orderId: \"12345\",\n        type: \"test\"\n    }\n};\n\nmsg.fcmConfig = fcmConfig;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":200,"wires":[["i9j0k1l2"]]},{"id":"i9j0k1l2","type":"fcm-push","z":"your-flow-id","name":"","x":540,"y":200,"wires":[["m3n4o5p6"]]},{"id":"m3n4o5p6","type":"debug","z":"your-flow-id","name":"推送结果","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":200,"wires":[]}]
第四步:测试流程
  1. 替换完所有占位信息(Firebase账号信息、设备Token)后,点击Node-RED右上角的“部署”按钮。
  2. 点击Inject节点上的按钮触发推送。
  3. 看右侧调试面板的输出:如果显示成功的响应,你的Android设备应该就能收到通知了;如果失败,根据错误信息排查(比如Token无效、密钥格式不对等)。
常见问题提示
  • 注意private_key的格式:一定要保留首尾的-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----,并且中间的私钥内容要用\n换行,不要直接复制成一堆没有换行的字符串。
  • 设备Token要确保是当前设备有效的,有些情况下Token会过期或者被Firebase注销,需要重新获取。
  • 确认Firebase项目里的Android应用配置和你的APP一致(包名、签名证书指纹等),否则可能会推送失败。

内容的提问来源于stack exchange,提问作者kdhismgr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:29:00