Android GCM 发送器_ID,如何获得它?

我试图迁移到 GCM和我有一个问题与 SENDER_ID我需要提供。我使用谷歌的演示项目。在这个项目中,如果我理解得很好,我需要在 CommonUtilities.java 文件中为应用程序提供一个 SENDER_ID

我提供的 SENDER _ ID 是我在 https://code.google.com/apis/console/上注册的 API 密钥,它的格式是: AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw(共40个字符)。

使用这个字符串作为 SENDER_ID,我在“ BroadcastReceivermHandleMessageReceiver”上得到一个错误消息: 来自 GCM: error (INVALID _ SENDER)。

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

谢谢你。

92716 次浏览

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

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

发件人编号是4815162342

更新答案:

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

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

转到 谷歌 API 控制台页面。从左边的下拉菜单中选择您使用的项目。选择 Overview,现在可以看到 project number。你必须使用的是 SENDER_ID

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

也许你还没有在 API 控制台中激活 Android 的 Google云消息传递。 下面是说明:

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

截至2014年11月的最新答复。

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

注意 ,这是不同的,因为 Google 最近修改了他们分配项目 ID 的方式。在10月份,我做了一个项目,并得到了一个全数字的项目 ID,我认为这将工作得很好。但是我今天创建的一个被赋予了两个单词和一个数字 id (比如 Hamster-Party-420)以及一个数字“项目编号”。我的项目的 URL 包含 Hamster-Party-420,项目编号只能在 Overview 屏幕上看到。

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

1-如果你在 https://console.developers.google.com创建一个项目,你可以在项目概述中看到两个东西“ PROJECT ID”和“ PROJECT NUMBER”。像 主人 -xxxxx-1234一样的字母数字。项目编号是一个11位数字的数字 比如123456789100。

project dashbaord

2-即使你检查浏览器链接,你也可以发现它是: Https://abc0/project/master-xxxxx-1234

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

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

你可以在哪里交叉检查项目标识被用作项目标识?

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

google api dashboard

摘要: Project Dashboard 和 API Dashboard 中的 Project Id 是不同的。因此,当我们在开发控制台中创建项目时,在项目仪表板中显示的项目编号在 GCM 中用作 SENDER _ ID。

您正在使用的 SENDER _ ID 只是授权密钥。 您可以在您的项目 GoogleAPI 控制台页面的 URL 中找到 SENDER _ ID

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

这里 8543162367将是您的发送器 _ ID, 而且项目 ID 也不再是数字,它的字母数字或只是数字或只是字母的任何东西,但它的位置是一样的我所显示的

转到最新版本的开发者控制台的“ Dashboard”,点击“ Project: Turtle Power”下面的下拉箭头,就可以看到项目编号了!使用它作为您的 SENDER _ ID

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

enter image description here

我已经为 最新的 Google API 控制台做了。

如何获得 SenderId:

步骤 :

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

参考文献:

enter image description here

希望这个能帮到你。

我们花了好几个小时才弄明白。问题是我们的机器人清单没有包括发件人 ID!

如果你来这里是因为你正在做网络推送,Android 推送,或者类似的事情,这里有一个不同的答案。

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

enter image description here