15

我对 GCM 发件人 ID 和 API 密钥感到困惑。我负责构建将向 Android 应用发送通知的第 3 方服务器。

我必须在服务器端存储哪个?API 密钥或发件人 ID?谁负责创建这两​​者,Android 开发人员还是我?

4

4 回答 4

34

我自己有点想通了:

  1. API 密钥在控制台上生成,并由第 3 方服务器用于向 GCM 进行身份验证/授权。
  2. Android 应用程序使用发件人 ID 向 GCM 注册物理设备,以便能够从特定 3rd 方服务器接收来自 GCM 的通知。
  3. 注册 ID 是使用 Sender ID 将物理设备注册到 GCM 的结果。
于 2012-12-30T18:27:50.120 回答
4

这取决于您的第三方服务器将如何工作,但通常它是这样工作的:

  1. 该应用程序将一个或多个作为 Google 项目编号的发件人 ID 发送到 GCM 服务器。
  2. GCM 返回一个注册 ID,应用程序使用它向服务器注册。
  3. 服务器使用注册 ID 和 API 密钥通过 GCM 向设备发送消息。
  4. 发送消息时,GCM 将确保 Google 项目编号和 API 密钥匹配并匹配用于创建注册 ID 的内容。如果他们这样做,它会发送消息。

有关开发人员如何获取此信息的信息,请参阅 GCM 文档:http: //developer.android.com/google/gcm/gs.html

根据您的需要,可以使用第三方商业服务器解决方案。

于 2012-12-27T16:02:34.303 回答
1

GCM 进程依赖于两个键或 ID。一种是在 Android 应用程序端创建并发送到 API 密钥已存储的服务器应用程序的 registrationID。使用注册 ID 和 API 密钥的组合将消息推送到设备。

注册 ID 由 GCM 服务器在 android 应用程序向它们发出请求时生成。保留已创建的项目 ID(在 Google 开发控制台中)。

于 2012-12-26T20:00:35.283 回答
0

GCM 发件人 ID 也可能指的是:

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

在此处输入图像描述

于 2019-07-31T22:12:09.013 回答