GCM 推送通知仅适用于调试 apk

Posted

技术标签:

【中文标题】GCM 推送通知仅适用于调试 apk【英文标题】:GCM Push Notification only works with Debug apk 【发布时间】:2015-02-15 17:19:07 【问题描述】:

我收到报告说我的应用没有发送或接收来自用户的通知。当我从 android Studio 运行该应用程序并向我的一台设备发送通知时,该设备也具有该 apk 的调试版本,我注意到它运行良好。两种设备都可以按预期接收和发送通知。但是,当我尝试使用 Play 商店中的应用程序版本运行相同的测试时,不会发送或接收任何通知。我已经对此进行了调试,发现如果我尝试从具有调试版本的手机向具有 Play 商店版本的手机发送通知,则数据会发送,但具有应用程序调试版本的手机不会收到通知。为什么会这样?我该如何解决?

【问题讨论】:

【参考方案1】:

Play Store 上的版本和您的调试版本使用不同的密钥签名(因为您无法将使用调试密钥签名的应用上传到 Play 商店),可能就是这种情况。您必须将您的公开发布密钥指纹传递给 google,以便他们能够识别您的应用并传输消息。

【讨论】:

我已将apk的发布版本上传到Play商店。如果我直接从网络下载 apk 的发布版本而不通过 Play 商店,则通知会起作用。如果我通过 Play 商店进行操作,它将无法正常工作。我已将我的发件人 ID 链接到我在 GCM 和 C2DM 的 Play 商店中的应用程序。但我没有做任何其他事情。有什么我想念的吗?我该怎么做你提到的? 我说的是这里提到的步骤:***.com/questions/21377251/… 但是如果你说没有通过 Play 商店安装的发行版可以工作,那么情况并非如此。

以上是关于GCM 推送通知仅适用于调试 apk的主要内容,如果未能解决你的问题,请参考以下文章

如何在推送通知 (GCM) android 中发送图像?

Amazon SNS GCM 推送通知中没有标题

仅接收来自 GCM 的最后一个后台静默推送通知

适用于 Android 的 Bluemix 推送通知未发送任何通知

从应用服务器接收 GCM 推送通知消息的步骤

用于 asp.net 的 GCM 推送通知服务器端