Android上的即时消息与谷歌云消息

Android上的即时消息与谷歌云消息,android,instant-messaging,google-cloud-messaging,Android,Instant Messaging,Google Cloud Messaging,我刚才在看新的Google云消息(GCM),我想知道是否可以在Android应用程序上使用GCM进行即时消息传递 我看到您可以从服务器发送数据,比如消息,但是也可以从一个设备发送到另一个设备吗? 这将如何工作? 一些示例代码将非常有用 Tnx 只要我的两分钱: 我认为你不应该使用GCM来传递即时消息。你应该有一个专用的服务器,你的Android IM应用程序将通过一个持久的套接字连接连接到该服务器。您的服务器将知道谁在线或不在线,因此可以向所有应用程序显示“在线列表” GCM可以在用户离线或不运

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

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

Tnx

只要我的两分钱:

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

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


谷歌曾表示,GCM消息的传递不受保证。仅凭这一原因并不是一个好主意,在即时通讯中依赖它们。

试试pub-nub-它很容易实现-从一台手机发送Im到另一台手机-只需在浏览器中打开网页(见链接),在pc、手机和works之间聊天-无需服务器。代码是针对javascript的,但它们也有java

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

谷歌安卓云消息服务确实提到GCM可用于开发即时消息应用程序

…或者它可能是一条包含多达4kb有效负载数据的消息(因此 即时消息等应用程序可以直接使用信息)

因此,我们继续使用GCM创建了一个即时消息应用程序。服务器端由谷歌应用程序引擎提供动力。您可以在这里阅读完整的教程


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

您知道IM的某种替代方案吗?tnxIM是一个复杂的野兽,如果可能的话,最好不要重新发明轮子。在XMPP上进行谷歌搜索,您可能会发现一些免费或廉价的解决方案,可以集成到您的环境中。还可以看到这个主题:Hi-check-out-pub-nub-这很容易实现-看看他们是否有一个java客户机这里是一个只有javascript的解决方案在移动设备上工作。我完全同意这一点,因为我在邮件传递中遇到了一些延迟,甚至有一些被完全跳过了。很酷的教程。你花了多少时间制作这个?有多少人参与其中?