0

是否可以在客户端没有任何GCM相关逻辑的情况下使用GCM?这个想法是,移动应用程序不应该存储/续订令牌等。移动应用程序应该初始化与中间件后端的会话,它将返回内部设备ID,就是这样(后端服务器将注册GCM/APN设备)。在没有客户端SDK的情况下使用GCM/Firebase

的目的是为了减少客户端逻辑和简化集成,因此流程大概应该是这样的:APP < - > BACKEND < - > GCM

+0

我想我知道你在问什么,但是要确定什么。你是说你想让客户端不注册GCM来获得注册令牌,而是后端服务器? – opt05

+0

yes @ opt05我希望我的后端服务器在GCM中注册每个设备。所以移动设备甚至不应该知道它的gcm-token。 – Dyrk

回答

2

我不认为你可以,文档指出“这个程序必须向GCM注册并获得称为注册令牌的唯一标识符“。客户与GCM有一整段歌曲和舞蹈,后端不允许这样做。另外,如果GCM服务器不知道哪个设备是哪个注册ID,它不知道发送通知的客户端。

要GCM文档指出只有一个注册的客户机的处理:

  1. 的客户端应用程序获得使用实例ID API登记令牌。对此API的调用必须将授权实体设置为您的应用服务器的发件人ID,并将范围设置为GCM的适当值(取决于您的平台)。有关此API的完整详细信息,请参阅API参考。
  2. 客户端应用程序将注册令牌传递给应用程序服务器。
  3. 应用程序服务器保存注册令牌并向客户端应用程序确认该过程已成功完成。
+0

但是,那么像Parse/OneSignal/Ionic这样的服务是如何工作的呢?在他们的流程中,您不应该在应用程序端注册任何GCM/APN令牌。整合非常简单,只需在客户端和其后端处理剩下的几行代码。 – Dyrk

+0

当您将他们的SDK /库文件添加到您的项目中时,它们会为您工作,因此它看起来更少代码。您仍然需要在客户端提供GCM发件人ID,以便它可以在您的GCM项目中注册。 – opt05

相关问题