android - GCM 未在通知中使用来自 JSON 负载的数据

标签 android push-notification push google-cloud-messaging

我正在通过 GCM(谷歌云消息传递)发送以下 JSON,但我无法通过客户端获得正确的响应数据。我收到推送通知响应,但标题是应用程序的名称,文本内容为:“消息”,所以我无法正确显示我的通知。

这是我要发送的 JSON:

{  
  "to": "somekey",
  "notification": {  
      "body":"Test",
      "title":"Test"
  },
  "data": null
}

最佳答案

我认为您的问题出在您消息的有效负载的键值上。

正如您在 GCM Server documentation 中看到的那样, payload 可以使用两个不同的键来设置:

  • data:此参数指定消息负载的键值对。
  • notification:此参数指定notification 负载的键值对。

您应该使用 data 键并在通知的payload 中设置。发送后,您可以打印收到的通知结果,并查看 data 键中是否有正确的负载。

您的消息应该类似于以下 JSON 数据:

{
  "registration_ids" => "some_target_device_id",
  "data": {
      "title": "My title",
      "message": "This is the message!",
  }
}

关于android - GCM 未在通知中使用来自 JSON 负载的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526641/

相关文章:

android - PushService 类型的 setDefaultPushCallback 方法已弃用 android

android - 附上缺少的源android

android - Ionic 推送通知自定义声音无法在 Android Oreo 及更高版本上播放

IOS - 通过单击 UNNotificationAction 处理后丰富的推送重复

windows - 用于推送通知的 WNS 或 MPNS?

javascript - 如何 forEach where (angular.js)

java - 如何加密一个android应用程序让客户端看不到源代码?

android - getActivity().runOnUiThreadnew Runnable() 出错

java - 使用复选框错误禁用编辑文本

Android - 设置壁纸以适合手机屏幕尺寸