使用Google Cloud Messaging在Android上进行即时消息传递

dum*_*azy 17 android instant-messaging google-cloud-messaging

我只是在看新的Google云消息传递(GCM),我想知道是否可以在Android应用程序上使用GCM进行即时消息传递?

我看到你可以从服务器发送数据,比如消息,但是也可以从一个设备发送到另一个设备吗?这将如何运作?一些示例代码将非常有用..

TNX!

app*_*com 19

Google Cloud Messaging for Android 的官方文档确实提到GCM可用于开发即时消息应用.

...或者它可能是包含最多4kb有效载荷数据的消息(因此即时消息传递等应用程序可以直接使用消息).

所以我们继续使用GCM创建了一个即时消息应用程序.服务器端由Google App Engine提供支持.您可以在此处阅读完整的教程.使用Google Cloud Messaging(GCM)创建即时消息应用

因此,可以在Android上使用GCM for Instant Messaging来回答您的问题.但是,与IM的XMPP相比,GCM的可靠性是另一个主题.


azg*_*fer 10

只是我的两分钱:

我认为你不应该使用GCM来提供IM.您应该有一个专用服务器,您的Android IM应用程序将连接到该服务器,使用持久套接字连接.您的服务器将知道谁在线,因此可以向所有应用程序提供"在线列表".

当用户离线或未运行您的应用时,GCM可以发挥作用.可以向他们发送GCM消息以指示"XXXX想要聊天".然后,他们可以启动您的应用并自动连接到聊天会话.

谷歌表示无法保证提供GCM消息.单凭这个原因并不是一个好主意,依靠它们进行即时消息传递.

  • IM是一个复杂的野兽,如果可能的话,最好不要重新发明轮子.在XMPP上进行谷歌搜索,您可以找到一些可以集成到您的环境中的免费或廉价解决方案.另请参阅此主题:http://stackoverflow.com/questions/4769020/android-and-xmpp-currently-available-solutions (5认同)