【发布时间】:2026-01-03 21:50:01
【问题描述】:
我正在尝试使用 FCM 向我的 iOS 应用程序推送通知,但我遇到了声音问题。我遵循了这个post 并相应地实现了“声音”键值对,但是firebase 抛出了这个错误。有人可以建议吗?
发送消息时出错:{ 错误:收到的 JSON 负载无效。未知 在“message.notification”中命名“声音”:找不到字段。
我在云函数上的 JSON 实现如下:
...
return admin.database().ref('/fcmToken/' + userUid).once('value', snapshot => {
const values = snapshot.val()
const fcmToken = values.fcmToken
var message = {
notification: {
body: 'New message(s)',
sound: 'default'
},
token: fcmToken
};
return admin.messaging().send(message)
.then((response) => {
return console.log('Successfully sent message:', response);
})
.catch((error) => {
return console.log('Error sending message:', error);
});
})
【问题讨论】:
-
您好,这里有什么帮助吗?
-
完全基于docs,
sound参数仅适用于Android,这可能是您遇到参数无效错误的原因。但这适用于使用 Cloud Functions 时,您是否使用 REST API 进行了测试?看看它是否有效。 -
您链接的第一个文档在 Android 通知对象下清楚地显示了
sound。我并不是说这不完全可能。我只是说 对于 Cloud Functions 是不可能的,因此我建议测试通过 REST API 发送有效负载。 -
@AL。能够显示一些代码?我需要使用数据库触发器来发送此 pushNotification。不太清楚如何通过这个实现 REST API...
标签: ios firebase firebase-cloud-messaging google-cloud-functions