【发布时间】:2018-11-25 20:21:21
【问题描述】:
我也在尝试使用 node.js 和 firebase admin 向 iOS 设备发送推送通知。但是,我遇到了这个错误:
发送消息时出错:{ 错误:请求包含无效参数。 在 FirebaseMessagingError.Error (本机) 在 FirebaseMessagingError.FirebaseError [作为构造函数] (/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28) 在 FirebaseMessagingError.PrefixedFirebaseError [作为构造函数] (/user_code/node_modules/firebase-admin/lib/utils/error.js:85:28) 在新的 FirebaseMessagingError (/user_code/node_modules/firebase-admin/lib/utils/error.js:241:16) 在 Function.FirebaseMessagingError.fromServerError (/user_code/node_modules/firebase-admin/lib/utils/error.js:271:16) 在 /user_code/node_modules/firebase-admin/lib/messaging/messaging-api-request.js:149:50 在 process._tickDomainCallback (internal/process/next_tick.js:135:7) errorInfo: { 代码: '消息/无效参数', 消息:“请求包含无效参数。” }, codePrefix: '消息' }
// 请参阅有关定义消息负载的文档。
var message = {
data: {
score: '850'
},
token: '1B269EFDFB4370C037F584XXXX5AA08AD206FB1FC29398AB786F2694F8D50XXX'
};
// Send a message to the device corresponding to the provided
// registration token.
res.send(admin.messaging().send(message)
【问题讨论】:
-
我感觉有很多代码你没有在这里显示。
res是什么?为什么最后一行的左括号比右括号多? -
令牌无效。与this question 相同的调用堆栈。看看那里的 cmets。
-
感谢@BobSnyder,这确实是由无效令牌引起的。将其更改为“FIRMessaging.messaging.FCMToken”,当应用程序处于前台时我能够收到通知。应用程序终止时如何接收通知?我尝试在消息中设置“content_available:true”并设置优先级:“high”并在功能中启用了后台模式,但它仍然无法正常工作
-
我对 iOS 了解不多,无法提出任何建议——抱歉。
-
没关系,谢谢@BobSnyder,感谢您的帮助。我会试着弄清楚,因为当应用程序终止时,我可以使用 firebase 控制台接收通知。
标签: node.js firebase firebase-cloud-messaging