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

我有我的iOS应用程序设置为通过GCM接收推送通知。 设置了一切后,我可以收到通知,当应用程序在各种苹果设备的前台。 但是,当应用程序处于后台时,我只能收到某些设备的推送通知,即只有我的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)不响应通知时,应用程序在后台。

其他详情:

  • 我正在使用企业版本
  • 我正在使用生产APN服务器(并在GCM注册选项中进行指定)
  • 尽pipe我不认为这是必要的,但我已将所有设备注册到我的Apple开发者帐户。

任何想法将不胜感激。

您应该将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参考 。 如果你没有设置优先级,则通过Normal优先级发送消息,在APNS情况下,消息是高度可变的。