Android GCM“错误”:“未注册”

Posted

技术标签:

【中文标题】Android GCM“错误”:“未注册”【英文标题】:Android GCM "error":"NotRegistered" 【发布时间】:2014-05-05 10:28:26 【问题描述】:

我正在使用 android GCM Push 服务,它在一段时间内运行良好,但如果我让我的应用程序空闲几分钟,或者当我在对代码进行一些修改后重新运行它时,我没有收到任何消息并且 GCM 服务器给我这个错误:“NotRegistered”我做了一些研究,发现this posted question,但我还不能在那里发表评论(声誉低:(而且帖子太旧了)

在经历它时,我不明白有时谷歌服务器可以自动刷新注册 ID,所以我需要知道 GCM 服务器何时对注册 ID 进行这些修改以及如何更新我在数据库中保存的 regID

我是新手,所以希望我的问题很清楚 谢谢你帮助我

【问题讨论】:

在您的服务器开始收到 NotRegistered 错误之前,您应该检查您的 logcat 以查看您是否收到带有未注册值的 com.google.android.c2dm.intent.REGISTRATION 意图。这意味着 GCM 出于某种原因注销了设备。 【参考方案1】:

如果您更改了部分代码,并在您的设备上重新安装了该应用,最后一个令牌可能会更改。 Google可能在以下情况下更新令牌:

应用更新 重新安装 清除应用数据

然后您应该处理自己的onTokenRefresh 以保存令牌并将其更新到您的服务器数据库中。

【讨论】:

以上是关于Android GCM“错误”:“未注册”的主要内容,如果未能解决你的问题,请参考以下文章

GCM 通知结果=[错误=未注册]

GCM IOS 未注册问题

C# GCM 未注册

从未调用 gcm.unregister() 时出现意外的 gcm 未注册消息

gcm推送通知:先成功,后IOS未注册

Android 上的 ThreeTen-Backport 错误 - ZoneRulesException:未注册时区数据文件