我已将iOS应用设置为通过GCM接收推送通知。完成所有设置后,当应用程序在各种Apple设备上处于前台时,我能够收到通知。但是,当应用程序在后台时,我只会收到某些设备的推送通知,即只有我的iPhone 6.其他设备(如iPhone 5s和iPod Touch)只能捕获通知当应用程序在前台时。
我查看了其他人关于这个问题的问题,我还没有看到一个特定于设备模型的问题。通常它归结为不设置content_available: true
设置,但我设置了它。以下是我正在使用的有效负载的示例:
{
"to":".....",
"content_available":true,
"notification": {
"title":"my title",
"body":"my body",
"sound":"default"
}
}
我收到了这个背景通知,确切地说我想知道我的iPhone 6(我的手机被唤醒,我看到一个横幅),但其他设备(也使用iOS v8.4.1)没有响应应用程序在后台时的通知。
其他细节:
任何想法都会受到赞赏。
答案 0 :(得分:16)
您应该在请求中添加priority
参数。例如
{
"to":".....",
"content_available":true,
"priority": "high", // Add this field corresponds to 10 for APNS
"notification": {
"title":"my title",
"body":"my body",
"sound":"default"
}
}
以下是提及priority
字段的GCM reference。如果您没有设置优先级,则通过Normal
优先级发送消息,该优先级在APNS的情况下是高度可变的。