Android 从客户端发送firebase云消息而不公开API机密
我正在开发一个新的聊天应用程序,目前可以与firebase实时数据库和cordova一起使用 我一直在寻找一个没有后端的解决方案,因为我目前正在工作的应用程序根本不需要任何服务器,除了一个微型服务器,它唯一的功能就是为客户端提供临时授权令牌 此令牌允许客户端直接与firebase一起工作,而不需要更昂贵和加载的服务器,并且仍然具有应用程序使用的中央控制 通过阅读,我认为通知和firebase cloud messages应用程序不能被客户端用来发布消息,而只能侦听通知,因为所有发送消息示例都公开了服务器API密钥,而服务器API密钥显然不在客户端 是否有一种方法可以从中央服务器发出临时令牌,客户端可以使用该令牌发送消息,而不必将所有消息发送到服务器,然后再返回到其他设备Android 从客户端发送firebase云消息而不公开API机密,android,cordova,firebase,google-cloud-messaging,Android,Cordova,Firebase,Google Cloud Messaging,我正在开发一个新的聊天应用程序,目前可以与firebase实时数据库和cordova一起使用 我一直在寻找一个没有后端的解决方案,因为我目前正在工作的应用程序根本不需要任何服务器,除了一个微型服务器,它唯一的功能就是为客户端提供临时授权令牌 此令牌允许客户端直接与firebase一起工作,而不需要更昂贵和加载的服务器,并且仍然具有应用程序使用的中央控制 通过阅读,我认为通知和firebase cloud messages应用程序不能被客户端用来发布消息,而只能侦听通知,因为所有发送消息示例都公开
谢谢向具有Firebase云消息功能的设备发送下游消息需要访问授权密钥。因此,它应该在一个可信的进程中运行,例如在您控制的硬件上。Firebase的云功能今天启动,这将解决您的问题!您可以在您的函数代码中初始化firebase admin SDK(它运行在Google的服务器上,而不是客户端),并使用它访问FCM。这样,您就可以发送消息来响应新的数据库项,或者响应HTTPS请求 以下是Firebase的云功能简介: 以下是如何使用firebase admin发送FCM消息:
您可以从客户端发送上游消息,但这要求您实现一个与FCM开放连接的XMPP服务器。FCM尚不支持无服务器的设备到设备消息传递。