Android GCM SENDER_ID,如何获取?


80

我尝试迁移到GCM,但SENDER_ID我需要提供一个问题。我使用来自Google的演示项目。如果我理解得很好,在这个项目中,我需要SENDER_ID在CommonUtilities.java文件中为应用程序提供一个。

我提供的SENDER_ID是我在https://code.google.com/apis/console/上注册的API密钥,格式为:(AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw总计40个字符)。

SENDER_ID在“ BroadcastReceiver mHandleMessageReceiver”上使用此字符串时,出现错误消息:从GCM:错误(INVALID_SENDER)。

错误在哪里?我提供的字符串不是SENDER_ID

谢谢。


这是获取GCM发送者ID和API密钥的分步过程。- ajaxtown.com/article/...
阿布舍克萨哈

Answers:


182

不,SENDER_ID是您在Google API控制台上注册的项目ID,应为数字字符串。例如,在浏览器URI上,您应该看到以下内容:

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

发件人ID为4815162342

更新的答案:

Google尚未完全更新其文档。上面的答案是旧的,并且基于此文档,似乎仍未更新。

根据更新的Google文档,似乎Google API控制台上的项目编号已用作SENDER ID


1
我做了一些实验-在Internet上找不到完整的答案,最后我发现sender_id是用于注册该服务的电子邮件。如果您希望答案被标记为接受,请对其进行编辑。
Zelter Ady 2012年

3
使用电子邮件地址作为sender_id的Zelter是已弃用的C2DM注册方式。参见:developer.android.com/guide/google/gcm/c2dm.html,在“客户端更改”下:迁移非常简单!应用程序中唯一需要做的更改就是用注册新服务时生成的项目ID替换在注册意图的sender参数中传递的电子邮件帐户。
azgolfer

2
谢谢azgolfer。迁移如何期望任何人都知道这一点?几乎就像Google竭尽全力使它变得棘手一样。
Eurig Jones 2012年

3
嘿@azgolfer您可以根据以下我的答案更新您的答案吗?stackoverflow.com/a/27020029/231768 GCM已从使用的项目ID更改为其他项目,并且使用的是项目编号
亚当(Adam)

2
SENDER_ID可以在google-services.json文件(配置文件)中以“ project_number”的形式找到:“ 12456789”。
Erdi

57

我已经完成了最新的Google API控制台

如何获得SenderId

步骤

  1. 开启Google API控制台
  2. 建立专案
  3. 单击左侧菜单图标
  4. 点击谷歌云平台
  5. 你会在SenderId那里得到表格

参考:

在此处输入图片说明

希望这会帮助你。


1
谢谢你只是希望我能早发现这个:)

需要注意的是,您永远都不要通过覆盖某些东西来进行检查,而应使用框形工具将其选中以删除该部分。任何人都可以读取您的URI和Projekt-ID,尤其是有恶意意图的人。
HopefulHelpful

23

转到您的Google API控制台页面。从左侧的下拉菜单中选择您要使用的项目。选择概述,现在您可以看到您project number。这是SENDER_ID你必须使用的

获取项目编号的另一种方法是从您的URL中获取“项目”的值。您的网址必须是这样的:“ https://code.google.com/apis/console/b/0/#project:886025556782 ”。这里的项目号是“ 886025556782”。这个号码是SENDER_ID


如果我的专案网址未显示任何编号怎么办?实际上我的网址是这样的“ console.developers.google.com/project/Project ID”
Priyank

普里扬克,看我的回答。Google最近对此进行了更改。 stackoverflow.com/a/27020029/231768
亚当

9

如果您最近创建了一个API项目,则截至2014年11月为最新答案。

首先,正确的是,您绝对应该转到Google Developers Console,找到启用了GCM的项目。查看“概述”部分(左侧导航面板)时,您会在右侧看到“项目ID”和“项目编号”。项目编号对我来说是失败的(这就是导致我失败的原因),但是当我尝试使用项目编号时,现在可以正确注册我的客户了。

请注意,这是不同的,因为Google最近修改了他们分配项目ID的方式。在十月份,我做了一个项目,并获得了全数字的项目ID,我认为它可以正常工作。但是我今天创建的那个有两个单词和一个数字id(例如Hamster-Party-420)和一个数字项目编号。我项目的URL包含Hamster-Party-420,并且“项目号”仅在“概述”屏幕上可见。


6

另一个更新的答案,对于困惑(..就像我以前那样)没有更多的解释。(应归功于@ azgolfer,@ PankajAndroid和@Adam)

1-如果您在https://console.developers.google.com上创建项目,则在项目概述中可以看到“ PROJECT ID”和“ PROJECT NUMBER”两件事。项目ID不再是数字,而是字母数字,例如master-xxxxx-1234项目编号是11位数字,例如123456789100。

项目dashbaord

2-即使您检查了浏览器链接,也可以找到它: https: //console.developers.google.com / project / master-xxxxx-1234

那么master-xxxxx-1234是SENDER_ID(在某些地方称为PROJECT ID)吗?没有。

您必须在GCM中使用项目编号作为项目ID。

3-您可以在哪里交叉检查项目ID是否用作项目ID?

在API Dashbaord上。(网址:https//code.google.com/apis/console/b/0/? noredirect#project :12345678900-其中12345678900是项目仪表板上的项目编号。

Google API仪表板

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


4

在最新版本的开发者控制台中转到“仪表板”,单击“项目:Turtle Power”下的下拉箭头,您可以在此处看到项目编号!使用它作为您的SENDER_ID

(假项目,因此甚至不要尝试= P)

在此处输入图片说明





By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.