我正在使用 Node js 开发 REST api,并且有一个休息端点来发送 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});
}
})
});
从正确命中此端点的 Android 客户端应用程序生成的推送 ID。但总是报错{"multicast_id":6340735554735214,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
请求被命中后。请问有人可以帮助我吗?这个问题之前曾被问过here https://stackoverflow.com/questions/41106557/receive-gcm-push-notification-in-node-js-app/41215898#41215898.
但这对我不起作用。我也尝试过this https://www.npmjs.com/package/fcm-push and this https://www.npmjs.com/package/fcm-node.
但没有任何进展。请帮忙。