Azure 通知中心:提供的通知负载无效

Azure Notification Hub: The supplied notification payload is invalid

我正在尝试向 APNS 发送 JSON 通知,当我尝试发送它时,我收到 400 Bad Request 错误消息:

The supplied notification payload is invalid.

这是我的通知JSON:

{"uri":"myApp://test","type":"test_push","badge":1,"content-available":1}

我这样创建通知:

notif = new AppleNotification(json);

我正在发送通知:

client.SendNotificationAsync(notif, "myTag")

在那之后,我收到了错误。默认情况下,内容类型是 application/xml,出现错误后,我开始将内容类型设置为 application/json,但没有任何改变。

我做错了什么?

更新: 我的集线器和证书安装正确;我可以通过 Azure 门户发送成功的测试通知。

在 Azure 门户上测试推送发送后,我自己发现了问题:通知中心不接受 JSON 如果它还没有包装在 aps 对象中.我已将 JSON 更改为发送为:

{aps: {"uri":"myApp://test","type":"test_push","badge":1,"content-available":1} }

现在可以正常使用了。我以为它是自动换行,但显然不是。

可以,

您的负载格式不正确,请尝试以下操作:

{"aps":{"uri":"myApp://test","type":"test_push","badge":1,"content-available":1}}

您可以使用 \ 转义特殊字符。请参见下面的示例,我使用了双引号来表示 Hub,它使用 \.

转义
{"aps":{"alert":"Notification \\"Hub\\" test notification"}}