在某些 Apple 设备上未收到后台 GCM 推送通知
Background GCM Push Notification Not Received on Certain Apple Devices
我的 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 上收到了这个后台通知(我的 phone 被唤醒,我看到了一条横幅),但其他设备(也使用 iOS v8.4.1) 后台不响应通知
其他详情:
- 我正在使用企业版
- 我正在使用生产 APN 服务器(并在 GCM 注册选项中指定)
- 虽然我觉得没必要,但是我所有的设备都用我的苹果开发者账号注册了。
如有任何想法,我们将不胜感激。
您应该将 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 的情况下,该优先级是高度可变的。
我的 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 上收到了这个后台通知(我的 phone 被唤醒,我看到了一条横幅),但其他设备(也使用 iOS v8.4.1) 后台不响应通知
其他详情:
- 我正在使用企业版
- 我正在使用生产 APN 服务器(并在 GCM 注册选项中指定)
- 虽然我觉得没必要,但是我所有的设备都用我的苹果开发者账号注册了。
如有任何想法,我们将不胜感激。
您应该将 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 的情况下,该优先级是高度可变的。