使用 GCM 的 Android 聊天应用
Posted
技术标签:
【中文标题】使用 GCM 的 Android 聊天应用【英文标题】:Android chat app using GCM 【发布时间】:2015-11-22 18:07:02 【问题描述】:好的,我们都知道 GCM 的能力,但我的问题是:GCM 是否可靠地处理聊天应用程序?我的意思是它可以处理(快速)向数百人发送消息吗?如果没有,那么最好的方法是什么?
我已经阅读了很多关于聊天应用程序的内容,我发现我们必须使用 XMPP,但我只能找到不与我的服务器集成的 API,例如 Parse(我们必须注册和登录他们的后端不是很方便)
谢谢大家
编辑: Google Cloud Messaging GCM CCS 与 XMPP 怎么样
【问题讨论】:
我会使用Firebase. 【参考方案1】:对于聊天应用程序,仅 GCM 是不够的,因为它可能会延迟或错过某个时间。您可以使用 MQTT(在移动平台上比 XMPP 具有多种优势)和 GCM。方法应该是:
1) 如果用户在前台,则使用 MQTT 持久连接。这会更快,并且将是实时的交付报告和聊天的阅读回执。您可以在未连接时使用 GCM 唤醒 MQTT 连接。
2) 当用户在后台不主动使用聊天时(关闭 MQTT 连接)在 GCM 上中继。这将节省您的电池寿命以及网络使用量。
对于示例代码,您可以通过我们的Applozic 开源聊天 sdk。
【讨论】:
【参考方案2】:根据我的看法和经验,GCM 不够快。谷歌从未声称会如此。聊天服务器/服务需要保证在一定时间内传递消息,至少 99.9% 的时间。即使您不想要聊天的交付报告(许多聊天应用程序仍然不提供),GCM 本身对于聊天应用程序来说也会很慢。最好只使用 XMPP 服务器
【讨论】:
谢谢!!使用 XMPP 的 GCM CCS 怎么样 我自己从未使用过它,但阅读 API 文档,我相信它应该可以工作!没有理由不这样做以上是关于使用 GCM 的 Android 聊天应用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 XMPP 和 GCM 在 Android 中制作聊天应用程序