GCM 未在通知中使用来自 JSON 有效负载的数据
Posted
技术标签:
【中文标题】GCM 未在通知中使用来自 JSON 有效负载的数据【英文标题】:GCM not using data from JSON payload in the notification 【发布时间】:2015-07-20 21:26:44 【问题描述】:我正在通过 GCM(Google 云消息传递)发送以下 JSON,但我无法通过客户端获取正确的响应数据。我收到了推送通知响应,但标题是应用程序的名称,并且文本显示:“消息”,因此我无法正确显示我的通知。
这是我要发送的 JSON:
"to": "somekey",
"notification":
"body":"Test",
"title":"Test"
,
"data": null
【问题讨论】:
【参考方案1】:我认为您的问题出在消息的有效负载的键值上。
正如您在GCM Server documentation 看到的那样,有效负载可以使用两个不同的键来设置:
data:此参数指定消息的负载的键值对。 notification:该参数指定notification载荷的键值对。您应该使用 data 键并在通知的 payload 内设置。发送后,您可以打印收到的通知结果,并查看 data 键内是否有正确的有效负载。
您的消息应该类似于以下 JSON 数据:
"registration_ids" => "some_target_device_id",
"data":
"title": "My title",
"message": "This is the message!",
【讨论】:
【参考方案2】:Authorization: key= AIz......#GCM project key
"data":
"title": "Summer Offer.",
"message": "Click to visit the offer."
,
"to" : "Device Token"
【讨论】:
欢迎来到 SO。请注意,仅代码答案不符合 SO 的标准。见***.com/help/how-to-answer以上是关于GCM 未在通知中使用来自 JSON 有效负载的数据的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序处于后台时,Android 2nd 推送通知有效负载数据未在附加中接收
Google GCM - 未在 android Lollipop 中接收推送通知