我想在android中的gmail中添加聊天功能和在线用户.如何在我自己的Android应用程序中添加聊天功能?
我想在google地图中显示一个在线用户,该地图最接近我选择的区域,并且能够与该在线用户聊天
Ben*_*ley 13
要向Android应用程序添加聊天,有许多选项.我将根据所需的开发专业知识量 - 从最少到最多 - 提供所选择的选项.
使用实时后端服务
有许多公司提供实时后端服务.这些服务将为您提供SDK,允许您的应用访问其服务器.使用SDK,您可以在设备之间传输数据.
以下是最受欢迎的服务列表:
谷歌拥有的实时数据库使用WebSockets和MongoDB作为核心技术堆栈.该服务允许您将数据保存在无SQL数据库中,然后注册以在数据更改时接收实时更新.它们还提供推送通知和文件存储服务.还有适用于iOS和Android的第三方开源消息传递框架.
Firebase有一个名为GeoFire的库,可让您识别应用位置.
我把它们归为一组,因为它们非常相似.它们提供实时流媒体基础设施和技术.您可以在设备组之间建立通道,并在它们之间传输数据.它们不提供任何方法来验证用户,因此您需要一个应用服务器.
Quickblox专门针对即时通讯市场,他们在后端使用XMPP服务器.由于他们使用XMPP,因此该服务具有许多内置的消息功能,如隐私列表和输入指示器.他们提供了一个合理但基本的示例消息应用程
Layer位于Quickblox和PubNub/Pusher之间.他们提供了一个针对即时消息的流媒体平台.它们具有一些消息传递功能,如基本阻止,但这不是像Quickblox这样的全面消息传递实现.他们有一个UI组件库,可用于帮助构建完整的应用程序--Atlas.
如果您使用后端作为服务,您将始终必须自己构建聊天客户端.如果您使用Firebase等更通用的选项之一,则还必须构建自己的消息传递协议.
这些服务将为您节省实时服务器实施,服务器配置和扩展的时间.
XMPP
另一种选择是自己托管XMPP服务器.有许多开源XMPP服务器可供使用:
XMPP服务器将为您提供开箱即用的大量消息传递功能.它们通常不包括任何位置感知,但这可以通过将服务器配置为在单独的服务器上托管用户数据库来解决 - 这将允许您添加额外的表来处理地理位置.另一种方法是在用户的位置改变一定量时使用在线更新相关设备.
为了构建客户端,我建议使用Smack.由于XMPP是开放标准,因此您的客户端应该能够使用第三方XMPP服务器和客户端.
如果您不想自己构建客户端,则可以使用许多开源项目(主要是复制左侧许可证),这些项目可以作为起点.Xabber就是一个例子,但你可以通过搜索找到更多.或者,您可以使用此商业开源项目.
自己构建服务器
最后一个选择是自己构建消息传递服务器.这样做的好处是,您可以添加所需的功能并使其保持相当简单.一个好的方法是使用Symfony和WebSocket Bundle作为客户端的实时后端和Android WebSockets.使用这种方法,您可以灵活地实现地理位置功能.
在我和我的团队中,我们正在开发称为QuickBlox的后端即服务平台。我们有一个很好的示例,说明如何将Map / Chat功能集成到您的应用程序:
简单的Android Map / Chat应用程序:https : //quickblox.com/developers/Android_XMPP_Chat_Sample
归档时间: |
|
查看次数: |
42115 次 |
最近记录: |