Android GCM SENDER_ID,如何获得它?

时间:2012-07-02 13:23:10

标签: android google-cloud-messaging google-api-console sender-id

我尝试迁移到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

谢谢。

10 个答案:

答案 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

<强>步骤

  1. 打开Goog​​le api控制台
  2. 创建项目
  3. 点击左侧菜单图标
  4. 点击 Google云平台
  5. 你会在那里得到SenderId
  6. <强>参考:

    enter image description here

    希望这会对你有所帮助。

答案 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。

project dashbaord

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是项目信息中心的项目编号。

google api dashboard

摘要:项目信息中心和API信息中心中的项目ID不同。 项目dashbaord中的项目编号用作API仪表板中的项目ID,项目dashbaord中的项目ID作为API仪表板中的项目名称。因此,当我们在开发人员控制台中创建项目时,项目仪表板中显示的项目编号在GCM中用作SENDER_ID。

答案 5 :(得分:4)

转到&#34;仪表板&#34;在最新版本的开发人员控制台中,单击&#34; Project:Turtle Power&#34;下的下拉箭头。你可以在那里看到项目编号!将其用作SENDER_ID

(假项目所以不要试试= P)

enter image description here

答案 6 :(得分:2)

也许您尚未在API COnsole中激活Google Cloud Messaging for Android。 以下是说明:

http://developer.android.com/google/gcm/gs.html

答案 7 :(得分:1)

我们花了好几个小时试图解决这个问题。问题是我们的Android清单没有包含发件人ID!

答案 8 :(得分:0)

如果您是因为进行网络推送,Android推送等而来到这里的,那么答案会有所不同。

来源:https://firebase.google.com/docs/cloud-messaging/js/client

enter image description here

答案 9 :(得分:-3)

您使用的SENDER_ID只是授权密钥。 您可以在项目Google API控制台页面网址

中找到SENDER_ID

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

此处 8543162367 将是您的SENDER_ID, 并且项目ID不再是数字的字母数字或仅数字或仅字母,但其位置与我显示的相同