【发布时间】:2021-07-07 03:41:47
【问题描述】:
我的项目之前有工作通知,我无法跟踪对我一直发送的有效负载的任何更改。我已经参考了文档并且看不到我的有效负载有任何问题。我得到的确切错误是
请求包含无效参数
let payload = {
token : oUser.devicetoken,
data : {
referenceid : chatid,
referencetype : 'chat',
referencename : oSender.displayname,
receiverid : userid,
type : 'message',
notificationid : res,
title : title,
body : `${oSender.displayname} : ${body}`
},
android : {
priority : 'high'
},
apns : {
payload : {
aps : {
'content-available' : 1
}
},
headers : {
'apns-push-type' : 'background',
'apns-priority' : '5',
'apns-topic' : 'llc.attebyte.partyme'
}
}
};
我当前的有效载荷:
在重新查看 Apple 文档以获取通知后,我注意到我应该使用 content-available。我以前一直在使用contentAvailable: true(它正在工作)。两者都不再工作了。
关于这个问题已经有多个问题。这是我发现的最好的:firebase cloud messaging Request contains an invalid argument
我通过从 firebase 控制台向设备发送测试通知来验证令牌是否正确。我认为我不应该达到 4kb 的大小限制,我发送用于测试的消息类似于“测试”或“你好”(也是 IOS 规范的问题)。我还验证了我发送的标头与 Apple 文档一致。
我无法弄清楚会导致通知在上周左右停止工作的任何差异。我知道他们当时正在工作,并且我已经查看了我的 Github 历史以验证有效负载没有改变(除了我今天在测试时对content-available 所做的更改。)
【问题讨论】:
-
我们在我们的项目中看到了相同的行为,我们直接针对 HTTP v1 发送端点进行了测试,得到了“无效的注册令牌”错误,这当然是错误的。我们刚刚打开了一个 GitHub 问题,请随时回复或评论:github.com/firebase/firebase-admin-node/issues/1224
-
我们现在也看到了同样的问题。等待 Gabriel 打开的 github 问题的评论
-
他们只是评论说 FCM 后端团队发现了这个问题,并希望在“一周内”修复它。
-
看起来问题已在 Google 方面得到解决。我确认他们再次为我的应用工作。
标签: ios firebase react-native firebase-cloud-messaging apple-push-notifications