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

问题描述:

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

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

Tnx!

Google Cloud Messaging for Android上的official docs确实提到GCM可用于开发即时消息应用程序。

...或者它可以是含有最多的有效载荷数据的4KB的消息(所以 应用程序,如即时消息传递可以直接使用该消息)。

所以我们继续使用GCM创建一个即时消息应用程序。服务器端由Google App Engine提供支持。你可以在这里阅读完整的教程。 Create an Instant Messaging app using Google Cloud Messaging (GCM)

因此,可以在Android上使用GCM进行即时消息传递,以回答您的问题。但是,与用于IM的XMPP相比,GCM的可靠性是另一个话题。

+0

酷教程。需要多长时间才能制作出来?有多少人参与? – defhlt 2014-11-10 12:02:47

只是我的两分钱:

我认为你不应该使用GCM交付IM。您应该有一个专用服务器,您的Android即时通讯应用程序将使用持久套接字连接来连接到该服务器。您的服务器将知道谁在线或不在线,因此可以向所有应用呈现“在线列表”。

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

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

+0

你知道IM的一种替代方法吗? tnx – dumazy 2012-07-08 19:53:37

+5

IM是一个复杂的野兽,如果可能,最好不要重新发明*。在XMPP上进行谷歌搜索,您可能会发现一些免费或便宜的解决方案,您可以将其集成到您的环境中。也看到这个主题:http://*.com/questions/4769020/android-and-xmpp-currently-available-solutions – azgolfer 2012-07-08 21:00:16

+0

嗨签出pub nub - 它很容易实现 - 看看他们是否有一个Java客户端在这里是一款适用于手机的JavaScript解决方案。 ozmike 2012-10-20 01:25:01

尝试pub nub - 它很容易实现 - 将Im从一个移动设备发送到另一个移动设备 - 只需在浏览器中启动网页(请参阅链接),以及在PC,移动设备和作品之间进行聊天,服务器'。代码是为JavaScript,但他们也有Java。 Chat app using jquerymobile web app framework

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