GCM设备到设备的消息传递 - 它是如何完成的?

时间:2015-07-27 11:58:54

标签: java android google-cloud-messaging messaging

我对像WhatsApp这样的应用程序如何实现此功能感兴趣。 我刚刚读到了将消息直接从设备发送到设备的不良做法,因为有人最终可以获取API密钥并将消息作为我的应用程序发送。

那么解决方案是什么?拥有一台服务器并使设备只与该服务器通信,所以当我想将消息发送到另一台设备时,它会转到服务器,从服务器转到该目标设备?

还有一个问题:

 public void onMessageReceived(String from, Bundle data)

这是GcmListenerService的一种方法。什么时候"来自"不同于默认的senderID?因为我尝试将消息直接从一个设备发送到另一个设备而且#34;来自"仍然是我在网站上注册应用程序时获得的默认发件人ID。

1 个答案:

答案 0 :(得分:0)

基本上,您需要一台服务器来收听上游消息并再次向目标收件人广播。

您可以在此处找到描述此内容的文章:http://javapapers.com/android/android-chat-with-google-gcm-xmpp/

这种方法非常有限,并不像拥有自己的消息服务器那样灵活,但应足以进行概念验证。