我不会从我们的NodeJS服务器通过FCM向我们的iOS / Android设备发送推送通知。我遵循FCM文档中的步骤将admin SDK添加到我们的项目(https://firebase.google.com/docs/admin/setup)中。我尝试将这段代码发送到我的Android
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' }
答案 0 :(得分:1)
好的,我解决了我的问题,问题是我的 registrationToken 是错误的,现在我可以成功地向我的Android设备发送消息了。