我尝试迁移到GCM
,但我遇到了需要提供的SENDER_ID
问题。我使用谷歌的演示项目。在这个项目中,如果我理解这一点,我需要在CommonUtilities.java文件中为应用程序提供SENDER_ID
。
我提供的SENDER_ID是我在https://code.google.com/apis/console/上注册的API密钥,其格式为:AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw
(共40个字符)。
将此字符串用作SENDER_ID
我收到“BroadcastReceiver mHandleMessageReceiver”错误消息:来自GCM:错误(INVALID_SENDER)。。
哪里出错?我提供的字符串不是SENDER_ID
?
谢谢。
答案 0 :(得分:182)
不,SENDER_ID是您在Google API控制台注册的项目ID,它应该是一个数字字符串。例如在您的浏览器URI上,您应该看到:
https://code.google.com/apis/console/#project:4815162342
发件人ID为4815162342
更新答案:
Google尚未完全更新其文档。上面的答案是陈旧的,它基于这个documentation,似乎它仍然没有更新。
根据更新的Google docs, Google API控制台上的项目编号似乎用作 SENDER ID
答案 1 :(得分:57)
我已为最新的Google API控制台做了一些。
如何获得SenderId
:
<强>步骤强>:
答案 2 :(得分:23)
转到Google APIs Console page。从左侧的下拉菜单中选择您使用的项目。选择概述,现在您可以看到project number
。这是您必须使用的SENDER_ID
获取项目编号的另一种方法是从您的网址获取“项目”的值。您的网址必须如下:“https://code.google.com/apis/console/b/0/#project:886025556782”。这里的项目编号是“886025556782”。这个号码是SENDER_ID
答案 3 :(得分:9)
截至2014年11月的更新答案如果您最近创建了API项目。
首先,正确的说,您绝对应该访问Google Developers Console并找到启用了GCM的项目。查看“概览”部分(左侧导航面板)时,您会在右侧看到项目ID和项目编号。项目ID对我来说失败了(这就是我这里的原因),但是当我尝试项目编号时,我现在能够正确注册我的客户。
注意这是不同的,因为Google最近修改了他们分配项目ID的方式。十月份,我做了一个项目,并获得了一个全数字项目ID,我认为它可以正常工作。但是我今天创建的那个被赋予了一个双字和一个数字id(如Hamster-Party-420)和一个数字项目编号。我的项目的URL包含Hamster-Party-420,项目编号仅在概览屏幕上可见。
答案 4 :(得分:6)
又一个更新的答案,对于困惑的更多解释(就像我一样)。(同时归功于@azgolfer,@ PankajAndroid和@Adam)
1-如果您在https://console.developers.google.com创建项目,则可以在项目概述中看到两个“PROJECT ID”和“PROJECT NUMBER”。 项目ID不再是数字,而是字母数字,如 master-xxxxx-1234 。 项目编号是一个11位数字,如123456789100。
2-即使您检查浏览器链接,也可以找到: 的的https:// console.developers.google.com /项目/主-XXXXX-1234 强>
master-xxxxx-1234是SENDER_ID(在某些地方称为PROJECT ID)? NO。
您必须在GCM中将项目编号用作项目ID。
3-在哪里可以交叉检查项目ID是否被用作项目ID?
在API Dashbaord上。 (网址:https://code.google.com/apis/console/b/0/?noredirect#project:12345678900 - 其中12345678900是项目信息中心的项目编号。
摘要:项目信息中心和API信息中心中的项目ID不同。 项目dashbaord中的项目编号用作API仪表板中的项目ID,项目dashbaord中的项目ID作为API仪表板中的项目名称。因此,当我们在开发人员控制台中创建项目时,项目仪表板中显示的项目编号在GCM中用作SENDER_ID。
答案 5 :(得分:4)
转到&#34;仪表板&#34;在最新版本的开发人员控制台中,单击&#34; Project:Turtle Power&#34;下的下拉箭头。你可以在那里看到项目编号!将其用作SENDER_ID
(假项目所以不要试试= P)
答案 6 :(得分:2)
也许您尚未在API COnsole中激活Google Cloud Messaging for Android。 以下是说明:
答案 7 :(得分:1)
我们花了好几个小时试图解决这个问题。问题是我们的Android清单没有包含发件人ID!
答案 8 :(得分:0)
如果您是因为进行网络推送,Android推送等而来到这里的,那么答案会有所不同。
来源:https://firebase.google.com/docs/cloud-messaging/js/client
答案 9 :(得分:-3)
您使用的SENDER_ID只是授权密钥。 您可以在项目Google API控制台页面网址
中找到SENDER_IDhttps://code.google.com/apis/console/#project:8543162367
此处 8543162367 将是您的SENDER_ID, 并且项目ID不再是数字的字母数字或仅数字或仅字母,但其位置与我显示的相同