Azure通知中心:提供的通知有效内容无效

时间:2016-11-16 15:00:02

标签: azure notifications azureservicebus servicebus azure-notificationhub

我尝试向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门户发送成功的测试通知。

3 个答案:

答案 0 :(得分:3)

能,

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

spinner1 = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.assaultRifles, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter);

    spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 

答案 1 :(得分:2)

在Azure门户上玩测试推送发送后,我自己发现了问题:如果JSON尚未包含在aps对象中,则Notification Hub不接受JSON 。我已将JSON更改为:

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

现在它正在运作。我认为这是自动包装,但显然它不是。

答案 2 :(得分:0)

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

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