在WWDC 2013的“多任务处理的新增功能”演示中,有一个有关无提示推送通知的部分。看起来很简单。根据演示,如果您仅将内容可用设置为1发送APS有效负载,则不会通知用户该通知。
// A. This doesn't work
{
aps: {
content-available: 1
}
}
我的测试表明,此操作不起作用,因为未收到任何推送。但是,如果我包括声音属性但不包括警报属性,则它可以工作(尽管不再静音)。
// B. This works
{
aps: {
content-available: 1,
sound: "default"
}
}
但是,如果我更改声音属性以播放无声音频,则可以模仿无声推送。
// C. This works too.
{
aps: {
content-available: 1,
sound: "silence.wav"
}
}
有人知道吗:
- 如果这是一个错误?
- 假设B或C被视为远程通知(而不是需要声音属性的Silent Push的错误)是否正确?如果是这样,则意味着它的速度不受“无声推送”的限制……Apple可能会修复。因此,我可能不应该依赖它。
- 速率限制是多少(每X秒按下N次,等等)?
提前致谢。
编辑更多信息
对于A,应用程序的状态无关紧要。永远不会收到通知。
似乎B和C仅在将属性和值括在引号中时才起作用,如下所示。
{"aps":{"content-available": 1, "sound":"silent.wav"}}
通知到达application:didReceiveRemoteNotification:fetchCompletionHandler:无论状态如何。