我正在尝试为我的Android应用创建推送服务,并遵循Google GCM的文档和示例进行处理:

我可以注册/注销我的Android应用程序。从服务器端,我可以看到已经注册了一个订阅,但是当我尝试将消息从服​​务器发送到我的Android应用程序时,总是出现以下错误:



对于我的Android应用,我使用SENDER_ID = 200000000001。

对于Google所说的服务器端,我使用API​​_KEY = AIzxxxxxxxxxxxxxxxxXxxXxxXxxxXXXXXxxxxxxs

我遵循了这份文件:



我也在Google API面板中启用了GCM,但是我会收到该烦人的错误消息。

我该如何解决这个问题?

最佳答案

您的服务器是否使用了GCM服务器返回给您的应用的新注册ID?如果尝试将消息发送到旧C2DM服务器给出的注册ID,我就遇到了这个问题。

还要仔细检查发件人ID和API_KEY,它们必须匹配,否则您将收到MismatchSenderId错误。在Google API控制台中,查看您的项目的URL:

https://code.google.com/apis/console/#project:xxxxxxxxxxx

xxxxxxxxx是项目ID,即发件人ID。

并确保API key 属于“服务器应用程序的 key (具有IP锁定)”

09-11 17:28