San*_*mín 18 java android xmpp google-cloud-messaging firebase-cloud-messaging
我正在为Android开发一个聊天应用程序.我已经阅读了几周关于XMPP和Google Cloud Messaging(以及Firebase云消息传递)的内容,我仍然感到非常困惑.
目前,我已经在本地设置了一个XMPP服务器(Ejabberd)并使用Smack库成功地将我的Android应用程序连接到它.
根据我的理解,我需要使用GCM或更新的FCM进行推送通知,因此我已经在Google Cloud Platform中创建了一个项目.我的Android应用程序也可以使用Smack库连接到它(而不是直接连接到我的XMPP服务器).在我的服务器中,我有一个小型Java应用程序,它也使用Smack库连接到GCM.
一切都很好,直到这里.我最大的困惑是:如何将我的XMPP服务器与GCM一起用于推送通知?我在服务器端实现中找到的每个文档,示例,指南和教程都告诉我如何连接到GCM,但没有人告诉我如何将我的XMPP服务器与GCM结合使用.我错过了什么?我的Java应用程序只是连接到GCM,从GCM接收和发送消息,但我的XMPP服务器只是坐在那里什么都不做.实际上我的Android App和服务器Java App只使用GCM,而不是我的XMPP服务器.
我希望有人可以帮助我理解这一点,我显然缺少实现这一实现的一些关键要素.
Nim*_*yan 15
你需要将Ejabberd和FCM混合在一起,这就是所有大型聊天应用程序在那里做的事情.对于基础知识,有3个组件:App Server通过XMPP连接到FCM,Ejabberd和您的客户端应用程序.
这是您应该实现所需的架构的基本描述.
小智 6
这是一个示例Java项目,用于展示Firebase Cloud Messaging(FCM)XMPP连接服务器。该项目是一个非常简单的独立服务器,我将其作为较大项目的基础而开发。它是我们必须在环境中实现的应用服务器。该服务器使用XMPP协议通过FCM CCS服务器将数据发送到客户端应用程序。
https://github.com/carlosCharz/fcmxmppserver
另外,我还在youtube上创建了一个视频,解释了它的作用。
https://www.youtube.com/watch?v=PA91bVq5sHw
希望你觉得它有用。
您应该设置连接到FCM(以前称为GCM)的Java服务器。然后,您可以从设备将上游消息发送到FCM,FCM然后将该上游消息发送到Java服务器,然后在该Java服务器中,您可以处理该上游消息以将下游消息发送到目标设备。然后,在设备端,您可以处理收到的那些下游消息以发出推送通知。
一些有用的链接:
如何发送上游消息:
https
:
//firebase.google.com/docs/cloud-messaging/upstream#sample-send
如何接收和处理下游消息:
https
:
//firebase.google.com / docs / cloud-messaging / downstream#sample-receive
如何设置示例Java服务器:https :
//stackoverflow.com/a/38170310/4433653
| 归档时间: |
|
| 查看次数: |
11867 次 |
| 最近记录: |