在WWDC 2013的"多任务新功能"演示中,有一节介绍了静默推送通知.这似乎是直截了当的.根据演示,如果您发送的APS有效负载仅将可用内容设置为1,用户将不会收到通知.
// A. This doesn't work
{
aps: {
content-available: 1
}
}
我的测试显示这不起作用,因为没有收到推送.但是,如果我包括声音属性,但不包括警告属性,它就可以工作(虽然不再是静音).
// B. This works
{
aps: {
content-available: 1,
sound: "default"
}
}
但是,如果我将声音属性更改为播放silent音频,则可以模拟silent推送.
// C. This works too.
{
aps: {
content-available: 1,
sound: "silence.wav"
}
}
有没有人知道:
- 如果这是个窃听器?
- 假设B或C被视为远程通知(而不是需要声音属性的Silent Push的bug)是否正确呢?如果是这样的话,这意味着它不像silent推送那样受到费率限制.苹果很可能会解决这个问题.所以我可能不应该依赖它.
- 速率限制是多少(N每X秒推送一次,等等)?
提前谢谢.
Edit with more information
对于一个应用程序,应用程序的状态并不重要.从未收到通知.
似乎只有将属性和值括在引号中才能使用B和C,如下所示.
{"aps":{"content-available": 1, "sound":"silent.wav"}}
并且无论状态如何,通知在application:didReceiveRemoteNotification:fetchCompletionHandler:到达.