Firebase云消息传递声音错误

10
我正在尝试使用Firebase API发送通知,如果通知JSON对象中只有“标题”和“正文”,则通知会成功发送。 但是,如果我根据文档的描述将“sound”:“default”添加到通知对象中,则会出现以下错误:

“无效的JSON有效负载。在'message.notification'处找不到字段位置为“sound”的未知名称。”

我的JSON对象如下所示:

{"message":{"token": token, "notification":{"title":"Test", "body":"Test message from server", "sound":"default"}}}
1个回答

38

您 JSON 中出现的 message 表明您正在使用 HTTP v1 API。您提供的文档是针对旧版 API 的。

要发送具有声音的 Android 和 iOS 设备通知的 HTTP v1 API JSON 应该是:

{
    "message": {
        "token": "your-token-value",
        "notification": {
            "title": "Test",
            "body": "Test message from server"
        },
        "android": {
            "notification": {
                "sound": "default"
            }
        },
        "apns": {
            "payload": {
                "aps": {
                    "sound": "default"
                }
            }
        }
    }
}

我有同样的问题,如果我使用这个结构,我会得到这个错误。 Apple推送通知服务的有效载荷必须包含一个[aps]键。 - cicaletto79
2
@cicaletto79:在查看了这个示例之后,我更新了我的答案。 - Bob Snyder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接