81

我尝试迁移到GCM,但SENDER_ID我需要提供的内容有问题。我使用谷歌的演示项目。在这个项目中,如果我理解这一点,我需要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?

谢谢你。

4

10 回答 10

182

不,SENDER_ID 是您在 Google API 控制台注册的项目 ID,它应该是一个数字字符串。例如,在您的浏览器 URI 上,您应该会看到:

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

发件人 ID 是 4815162342

更新答案:

Google 尚未完全更新其文档。上面的答案是旧的,它基于这个文档,它似乎仍然没有更新。

根据更新的谷歌文档,谷歌 API 控制台上的项目号似乎被用作发件人 ID

于 2012-07-02T14:56:15.543 回答
57

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

如何获得SenderId

步骤

  1. 打开谷歌 api 控制台
  2. 创建项目
  3. 单击左侧菜单图标
  4. 点击谷歌云平台
  5. 你会在SenderId那里得到表格

参考:

在此处输入图像描述

希望这会帮助你。

于 2016-03-29T09:20:44.123 回答
23

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

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

于 2012-11-02T11:35:21.297 回答
9

2014 年 11 月的更新答案如果您最近创建了一个 API 项目

首先,正确,你绝对应该去谷歌开发者控制台找到你启用了 GCM 的项目。查看概览部分(左侧导航面板)时,您会看到右侧列出的项目 ID 和项目编号。项目 ID 对我来说失败了(这就是我在这里的原因),但是当我尝试项目编号时,我现在能够正确注册我的客户。

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

于 2014-11-19T15:01:05.527 回答
6

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

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

项目仪表板

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

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

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

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

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

谷歌API仪表板

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

于 2014-12-26T08:32:07.557 回答
4

进入最新版开发者控制台的“Dashboard”,点击“Project: Turtle Power”下方的下拉箭头,就可以看到Project编号了!将其用作您的 SENDER_ID

(假项目所以甚至不要尝试它=P)

在此处输入图像描述

于 2016-03-04T21:53:49.023 回答
2

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

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

于 2013-01-26T15:33:47.040 回答
1

我们花了几个小时试图弄清楚这一点。问题是我们的 android manifest 没有包含发件人 ID!

于 2016-05-19T23:59:27.303 回答
0

如果你来这里是因为你在做 web 推送、Android 推送等,会有不同的答案。

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

在此处输入图像描述

于 2019-07-31T22:09:06.780 回答
-3

您使用的 SENDER_ID 只不过是授权密钥。您可以在您的项目 Google API 控制台页面 URL 中找到 SENDER_ID

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

这里8543162367将是您的 SENDER_ID ,并且项目 ID 不再是数字,它的字母数字或仅数字或仅字母任何东西,但它的位置与我显示的相同

于 2015-10-16T11:12:20.200 回答