发送 GCM 上游消息后收到空推送消息

Posted

技术标签:

【中文标题】发送 GCM 上游消息后收到空推送消息【英文标题】:Receiving empty push message after sending GCM Upstream Message 【发布时间】:2017-03-10 14:26:33 【问题描述】:

我已经实现了发送 GCM 上游消息的方式与 android 开发者网站上提供的方式相同。 XMPP 服务器也接收上游消息并确认来自 GCM 的 ACK。

但由于某种原因,在将 ACK 从 XMPP 发送到 GCM 以确认上游消息之后,我总是在客户端上收到一个空通知。

空通知只包含:

Bundle[google.sent_time=1489154979847, google.message_id=0:14dwa91daw806%0d31231dqwdecd] 

为什么会收到这条消息?文档中没有提到在发送上游消息后接收某种“ACK”。让我感到困惑的是,这条消息完全是空的。

【问题讨论】:

你可以参考这个thread。 @abielita 不幸的是,这似乎是一个不同的问题。我实际上正在接收从服务器发送的我自己的推送通知(带有内容等)。问题是,由于从我的服务器发送到 GCM 的 ACK,我收到了意外的空消息。 【参考方案1】:

问题是服务器上的拼写错误,而是使用了 'message_type' 'messg_type'。所以服务器发给GCM的ACK没有被识别为ACK,问题就出现了。

【讨论】:

以上是关于发送 GCM 上游消息后收到空推送消息的主要内容,如果未能解决你的问题,请参考以下文章

GCM 给出空消息

使用亚马逊 sns 未收到 GCM 推送

Android GCM 投放监控

使用 GCM 发送推送消息时,错误代码“notRegistered”是啥意思?

将GCM令牌用于FCM中的推送消息

即使所有消息都从服务器成功,某些设备也不会收到 GCM 推送