使用Firebase(FCM)推送通知的Node.js

4
我正在使用Node.js开发REST API,并且有一个REST端点用于发送Firebase推送通知。我的代码如下:
const bodyParser = require('body-parser');
var cors = require('cors');
var FCM = require('fcm-node');
//var FCM = require('fcm-push');

router.post('/pushmessage', function (req, res) {

    var serverKey = 'server key taken from firebase site cloud messaging tab';
    var fcm = new FCM(serverKey);
    var reqObj = req.body;
    var token = reqObj.userToken;
    console.log("Token Value  :   " + token);
    var message = {
        to: token,
        collapse_key: 'xxxxxxxxxxxxxx',
        notification: {title: 'hello', body: 'test'},
        data: {my_key: 'my value', contents: "abcv/"}
    };
    fcm.send(message, function (err, response) {
        if (err) {
            res.json({status: 0, message: err});
            console.log("error : "+err);
        } else {
            console.log("MESSAGE SEND");
            res.json({status: 1, message: response});
        }
    })
});

我从安卓客户端应用程序生成了推送ID,并将其发送到了正确的端点。但是每次都会出现以下错误:{"multicast_id":6340735554735214,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}。请问有人能帮我吗?此问题以前在这里提过。

但是对我来说这不起作用。我还尝试了这个这个,但没有任何进展。请帮忙。


如果您能发布实际抛出的错误而不是您记录的消息,那将是很好的,这样社区就可以帮助您。 - goblin
感谢您的提示。消息错误:{"multicast_id":6340447350554262714,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]} - Koshan Samarasinghe
@KoshanSamarasinghe,折叠键是什么?你在那里添加了什么? - Neha
1个回答

4

并不是只有GCM可用,现在有很多包可以用于发送推送通知

以下是两个Node.js包:

使用fcm-call:

let FCM = require('fcm-call');
const serverKey = '<Your Server Key>'; 
const referenceKey = '<Your reference key>'; //Device Key
let title = '<Your notification title here.>';
let message = '<Your message here>';

FCM.FCM(serverKey, referenceKey, title, message);

这个小片段将在2-3秒内向您的指定设备发送推送通知。
愉快的通知。

根据我的测试,fcm-call库不起作用,而且它只是对fcm-node库进行了封装。没有任何理由使用fcm-call。 - Deluar Hossen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接