我正在尝试为iOS中的Azure Notifications Hub注册模板,并在aps中提供内容可用字段,我遇到了一些问题。当我使用以下格式注册模板时,它可以工作:
"{\"aps\" : {\"alert\":\"$(message)\" }, \"payload\": { \"type\" : \"$(type)\", \"startDate\" : \"$(startDate)\", \"id\" : \"$(id)\"} }"
但是,当我尝试添加内容可用字段时,由于我希望能够发送静默通知,因此我从Azure收到错误,说这是错误的请求:
"{\"aps\" : {\"alert\":\"$(message)\", \"content-available\": \"$(content-available)\", \"sound\":\"\" }, \"payload\": { \"type\" : \"$(type)\", \"startDate\" : \"$(startDate)\", \"id\" : \"$(id)\"} }"
当我将“$”符号更改为“#”而“ - ”更改为“_”时,我可以成功注册,但是当我尝试发送通知时,我在Azure门户上收到错误,说通知有效负载无效:
"{\"aps\" : {\"alert\":\"$(message)\", \"content-available\": \"#(content_available)\", \"sound\":\"\" }, \"payload\": { \"type\" : \"$(type)\", \"startDate\" : \"$(startDate)\", \"sleeperId\" : \"$(sleeperId)\"} }"
我理解这个问题与“内容可用”具有Azure无法解析的“ - ”这一事实有关。
答案 0 :(得分:2)
我设法解决了它,而不是1或0你应该把它/ true。因此,模板中可用的内容代码应如下所示:
\"content-available\": \"#(content_available)\"
发送通知时
content-available: true
这消除了通知有效负载错误,您在后台收到静默通知。还要确保警报和声音是空字符串。