Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Push notification GCM API密钥与发送方ID_Push Notification_Google Cloud Messaging - Fatal编程技术网

Push notification GCM API密钥与发送方ID

Push notification GCM API密钥与发送方ID,push-notification,google-cloud-messaging,Push Notification,Google Cloud Messaging,我对GCM发送者ID和API密钥感到困惑。我负责构建第三方服务器,向Android应用程序发送通知 我必须在服务器端存储哪一个?API密钥或发送方ID?谁负责创建这两者,Android开发者还是我?GCM流程依赖于两个键或ID。一个是registrationID,它在Android应用程序端创建,并发送到已经存储API密钥的服务器应用程序。使用注册Id和API密钥的组合将消息推送到设备 当android应用程序向GCM服务器发出请求时,该注册ID由GCM服务器生成。保留已创建的项目ID(在Goo

我对GCM发送者ID和API密钥感到困惑。我负责构建第三方服务器,向Android应用程序发送通知


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

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


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

这取决于您的第三方服务器的工作方式,但通常情况下,它是这样工作的:

  • 应用程序向GCM服务器发送一个或多个发送者ID,这些ID是谷歌项目编号
  • GCM返回一个注册Id,应用程序使用该Id向服务器注册
  • 服务器使用注册Id和API密钥通过GCM向设备发送消息
  • 在发送消息时,GCM将确保Google项目编号和API密钥匹配,并匹配用于创建注册Id的内容。如果他们这样做,则发送消息
  • 有关开发人员如何获得此信息的信息,请参见GCM文档:


    根据您的需要,有第三方商用服务器解决方案可用

    我自己已经有点明白了:

  • API密钥在控制台上生成,并由第三方服务器使用,以通过GCM进行身份验证/授权
  • Android应用程序使用发件人ID向GCM注册物理设备,以便能够从特定的第三方服务器接收来自GCM的通知
  • 注册ID是使用发送方ID向GCM注册物理设备的结果

  • GCM发送方ID也可能指:

    资料来源:


    这里是一个更新的逐步获取GCM发送者Id和API密钥的过程。-此外,项目ID与发件人ID相同