GCM 在 Android 上工作正常但在 iOS 上不工作

GCM works fine on Android but not working on iOS

我已经为 android 成功实施了 GCM,但是当我尝试将其实施到我的 iOS 版本时,我收不到推送消息。

我在 iOS 版本获得了我的 gcm 令牌,并且可以发送消息(我使用 Postman)。 我得到了成功的响应和唯一的消息 ID,但没有收到推送。我已经为此苦苦挣扎了几天。

我尝试创建一个新的 GCm 项目以及 运行 iOS 的 GCM 示例,但没有任何效果。

我为 iOS 和 Android 使用相同的帐户,当然具有相同的 apiKey。

邮递员代码:

{
          "collapse_key": "score_update",
          "time_to_live": 108,
          "delay_while_idle": true,
          "data": {
            "score": "4x8",
            "time": "15:16.2342"
          },
          "registration_ids":["My Token"],
}

我错过了什么?

难以置信,不得不将 "data" 更改为 "notification"。 iOS 的有效载荷有点不同。可以找到更多信息 here

我遇到了同样的问题,已通过使用 content_available 和优先级选项解决,如下面的文档所示:

您应该发送 "content_available":true"priority":"high",

https://developers.google.com/cloud-messaging/http-server-ref

示例 JSON 请求:

{
  "content_available":true,
  "to":"fd4...23f7",
  "priority":"high",
  "notification":
    {
    "body":"anything",
    "title":"any title"
    }
}