12

我正在使用 Google Cloud Messaging (GCM) 跟踪 Android 推送通知,以在我的应用程序中实现 GCM,(Galaxy S)当我尝试使用另一台设备测试它时,它在单个设备上运行良好,( Galaxy Tab 7')它会生成错误。

handleRegistration:registrationId = null,error = INVALID_SENDER,未注册 = null

这是我得到的日志

V/GCMRegistrar(5649): Registering app  my_maypackage of senders APA91bHvzZbO_nyYvaA_QRGDaV-wRAYKjt0qJSQmzPUi2unqG7j0OGuyhVY1A3zh-ZfnA0XT0ffgyKypVJ_5owLZvZBNGARpTBkBg9ED8gVVCDejaIpShghq_tXGhMnFQEufwdCL1ibm
V/GCMRegistrar(5649): Setting registeredOnServer status as true until 2013-04-02 11:02:07.847

V/GCMBroadcastReceiver(5649): onReceive: com.google.android.c2dm.intent.REGISTRATION
V/GCMBroadcastReceiver(5649): GCM IntentService class: my_maypackage.GCMIntentService
V/GCMBaseIntentService(5649): Acquiring wakelock
V/GCMBaseIntentService(5649): Intent service name: GCMIntentService-980172650021-7

D/GCMBaseIntentService(5649): handleRegistration: registrationId = null, error = INVALID_SENDER, unregistered = null
D/GCMBaseIntentService(5649): Registration error: INVALID_SENDER
I/GCMIntentService(5649): Received error: INVALID_SENDER
V/GCMBaseIntentService(5649): Releasing wakelock

注意:两台设备都配置了相同的 gmail 帐户。

4

6 回答 6

21

日志显示不正确的发件人 ID。它应该取自 Google api 项目 url。例如

https://code.google.com/apis/console/b/0/#project:65464654646546

那么 65464654646546 是发件人 ID。

于 2013-05-21T20:05:13.860 回答
14

对我来说,从控制台的 API 部分启用“Google Cloud Messaging for Android”做了什么: 在此处输入图像描述

于 2013-10-24T12:17:28.787 回答
6

[添加到@spanjeta 的答案:]

问题在于获得项目编号并非易事,因为谷歌一直在修改开发者控制台。虽然 Google 很友好地为开发人员提供了为他们的项目声明友好/文本 ID 的可能性,但他们没有更新 GCM 文档,因为这不能替换 GCM 客户端中的项目 ID。当你这样做时(给项目一个文本名称/ID) - 你不能使用它,因为你会得到一个 INVALID_SENDER 错误。您必须以某种方式获得纯数字项目 ID。

那么如何获得项目编号呢?您需要以某种方式访问​​旧的开发人员控制台。以下方式有效(目前):哟去开发者控制台→您的项目→APIS→Google Cloud Messaging for Android→配额然后将使用以下URL打开一个新的旧的google devloper控制台选项卡: https://code .google.com/apis/console/b/0/?noredirect#project : YOUR_PROJECT_NUMBER :quotas

然后,在您的应用中使用YOUR_PROJECT_NUMBER作为 GCM SENDER_ID。

于 2014-08-11T02:00:36.477 回答
2

I just wanted to share with you that I ran into this same problem just now.

GCM push worked perfectly fine before, nothing's got changed, and all of the sudden our users flushed back with complaints about not getting push notifications.

So I did check out all the StackOverflow thread re. this issue and still couldn't figure things out (had the app id / keys all correctly input, code's perfectly fine, even tried out on the Google demo and blah blah blah)

So in an act of desperate I went to the dev console and disabled GCM, then re-enabled it... everything just worked!

于 2014-04-24T07:44:13.593 回答
2

项目仪表板顶部显示项目 ID 和项目编号。

Project ID: aaaa-bbb-000000 Project Number: 00000111112

您必须使用数字项目编号作为 SENDER_ID。

于 2015-04-22T07:18:38.190 回答
1

也许您需要更改 GOOGLE_PROJ_ID

第一的

在此处输入图像描述

第二 在此处输入图像描述

祝你好运!!

于 2016-04-11T21:36:16.627 回答