(直接)桌面应用程序通过GCM / FCM进行Android应用程序通信

时间:2018-03-23 15:00:10

标签: android firebase firebase-cloud-messaging

我目前正在评估未来可能的项目的可能性,因此我想澄清我是否有任何误解。

因此,如果我理解正确,Firebase云消息传递通常旨在允许一个权限(例如应用程序的开发人员)与许多应用程序安装之间的通信,例如为了向应用程序用户发送通知/新闻,正确?

我计划开发一个工具,用户可以在其中设置Android应用和桌面应用(例如可能是浏览器插件),这两个软件应该能够相互通信。传统上,您需要的是中间服务器后端(因为端到端连接需要两个软件都知道彼此的IP地址,另外网络端口是打开的),对吧?

我现在想知道你是否可以通过使用Firebase云消息传递来解决这个问题,特别是在Android应用程序界面中向用户显示registration token,然后他可以将其粘贴到桌面应用程序中?我只想在这里寻求一些确认(或反驳)。

1 个答案:

答案 0 :(得分:0)

Firebase云消息传递旨在促进推送通知。它基于GCM核心架构。基本上,您使用FCM注册设备,然后将令牌发送到服务器。当您的服务器想要发送推送通知时,它会使用令牌将其发送到您的特定设备或一组设备。

单凭FCM可能不是你想要的。 FCM通常用于从服务器到设备的通信。它不以其他方式促进沟通。这里最好的解决方案是设置一个服务器,它是两者之间的中介。

或者

除了FCM,您还可以使用firebase其他工具。桌面应用程序和设备之间的通信是使用FCM建立的。您可以整天向设备上的应用发送通知。 Firebase还有一个数据库,这意味着您可以使用firebase sdk从应用程序将数据推送到firebase。从Android应用程序到桌面应用程序的通信。您的桌面应用程序只需要订阅您的firebase数据库中的更改。您甚至可以使用Firebase Cloud Functions根据firebase数据库中的数据触发事件。

OR

如果您只关心本地,则可以设置本地节点服务器和一些套接字连接或api端点。您需要在相关计算机上打开端口以及设置为转发到路由器上该计算机的相同端口。然后,设备需要使用该计算机的IP地址和端口号来代理它的连接。

我希望这会有所帮助。祝你好运,编码愉快。