使用Google云消息传递的Android即时消息

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

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

TNX!

Solutions Collecting From Web of "使用Google云消息传递的Android即时消息"

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

…或者它可能是一个消息,其中包含高达4kb的有效载荷数据(所以诸如即时消息的应用程序可以直接消费该消息)。

所以我们继续使用GCM创build一个即时消息应用程序。 服务器端由Google App Engine提供支持。 你可以在这里阅读完整的教程。 使用Google云消息传递(GCM)创build即时消息应用程序

所以可以在Android上使用GCM进行即时通讯,回答你的问题。 然而,与IM的XMPP相比,GCM的可靠性是另一个话题。

只是我的两分钱:

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

GCM可以发挥作用,而用户离线或不运行您的应用程序。 GCM消息可以发送给他们,以指示“XXXX想聊天”。 然后他们可以启动您的应用程序并自动连接到聊天会话。

谷歌已经表示,不保证传递GCM消息。 仅凭这个原因,依靠他们进行即时消息并不是一个好主意。

尝试pub nub – 这很容易实现 – 将Im从一个移动设备发送到另一个移动设备 – 只需在浏览器中启动网页(请参阅链接),然后在PC,移动设备和作品之间进行聊天。 代码是为JavaScript,但他们也有Java。 聊天应用程序使用jquerymobile的Web应用程序框架

您可能需要查看服务器如何向GCM服务发送消息。 可以在服务器端使用php,所以应该可以直接将它改写为POST请求。 但是,为了沟通,您需要注册想要发送数据的设备的ID。 意味着你将需要一些东西来存储和获取它们。 最好的解决scheme将是你自己的(networking)服务器,它存储所有ID并处理消息发送。