我不想通过FCM从我们的NodeJS服务器向我们的iOS/Android设备发送推送通知。我按照 FCM 文档中的步骤将管理员 SDK 添加到我们的项目 (https://firebase.google.com/docs/admin/setup(。我尝试使用此代码向我的安卓设备发送消息
const admin = require("firebase-admin");
const serviceAccount = require("/path/to/serviceAccountKey.json");
const crypto = require("crypto");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
exports.sendMessage = () => {
//let registrationToken = crypto.randomBytes(20).toString("hex");
var registrationToken = "TEST";
var message = {
data: {
msg: "Hello, this is a push notification"
},
token: registrationToken
};
admin.messaging().send(message)
.then((response) => {
console.log("Successfully sent message: ", response);
}).catch((err) => {
console.log("Error sending message: ", err);
})
}
我通过HTTP GET函数从Postman调用此方法。但随后发生此错误:
Error sending message: { Error: Request contains an invalid argument.
bla bla bla....
errorInfo:
{ code: 'messaging/invalid-argument',
message: 'Request contains an invalid argument.' },
codePrefix: 'messaging' }
好的,我解决了我的问题,问题是我的注册令牌是错误的,现在我可以成功地向我的Android设备发送消息。