某些Apple设备上未收到GCM推送通知

时间:2015-09-05 06:42:45

标签: ios notifications google-cloud-messaging

我已将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)没有响应应用程序在后台时的通知。

其他细节:

  • 我正在使用Enterprise build
  • 我正在使用生产APN服务器(并在GCM注册选项中指定)
  • 虽然我认为没有必要,但我已经在Apple开发者帐户中注册了所有设备。

任何想法都会受到赞赏。

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的情况下是高度可变的。