Google GCM,令牌与注册ID

mrQ*_*RTY 9 android google-cloud-messaging

我对注册ID和令牌之间的关系感到困惑.在Google的GCM教程中,我们在开始时注册了注册ID.但是,我们也获得了一个令牌.现在,在图中,我们将注册ID发送到目标服务器.但是,我们也发送令牌吗?我知道令牌是从注册ID派生的.令牌是否用作GCM和应用程序之间的身份验证机制,服务器永远不知道令牌?

BNK*_*BNK 19

如果您正在寻找有关Google Cloud Messaging,IMO的基本知识,请参阅以下内容:

基本上,您需要执行以下步骤:

  1. Google Developers Console中创建一个新项目.在此步骤中,为简单起见,您只需要记下2个值:Project Number,将SENDER_ID在客户端项目中使用; 和API server key(在Credentials上创建),将API_KEY在服务器项目中使用.
  2. 为服务器端创建一个新的简单Android项目(基本源代码作为我在以下链接中的答案).
  3. 为客户端创建一个新的简单Android项目(基本源代码作为我在以下链接中的答案,我从Google云消息传递的原始源- GitHub进行了自定义).
  4. 运行客户端应用程序,您将获得注册令牌(表示您的设备已成功注册).然后,将此标记粘贴(硬编码)CLIENT_REGISTRATION_TOKEN到服务器应用程序中的变量(或编写代码以将此标记发送到服务器应用程序).

您可以在以下问题中阅读更多内容,其中一个您之前已阅读过的一个问题:

  1. 如何使用Android Studio实现适用于Android的GCM Hello World
  2. 为Android添加Google Cloud Messagin(GCM) - 注册流程

欲获得更多信息:

Google Cloud Messaging的主要概念:概述

证书

  • 发件人ID 配置API项目时创建的唯一数值(在Google Developers Console中以"项目编号"的形式给出).在注册过程中使用发件人ID来标识允许向客户端应用程序发送消息的应用服务器.
  • API 密钥保存在应用服务器上的API密钥,可让应用服务器授权访问Google服务.在HTTP中,API密钥包含在发送消息的POST请求的标头中.在XMPP中,API密钥在SASL PLAIN身份验证请求中用作验证连接的密码.您在配置API项目时获取API密钥.
  • 注册令牌 GCM连接服务器向客户端应用程序发出的ID,允许它接收消息.请注意,注册令牌必须保密.

希望这可以帮助!

  • 注册令牌=注册ID,在客户端应用程序获得,然后您必须将其提供给服务器应用程序 (3认同)

Art*_*son 14

GCM现在使用InstanceID的概念,该概念表示在设备(Android或iOS)上单独安装应用程序.每个InstanceID都可以发出多个令牌.这些令牌用于标识InstanceID,可以过期和刷新.

在客户端设备上,初始化InstanceID,然后使用该InstanceID 生成令牌(注册令牌).您将该令牌发送到您的服务器,该服务器使用令牌将消息发送到InstanceID(已安装的应用程序).如果由于卸载应用程序或令牌受到损害等原因导致该令牌失效,则应生成新令牌并将其发送到您的服务器.