我对像WhatsApp这样的应用程序如何实现此功能感兴趣。 我刚刚读到了将消息直接从设备发送到设备的不良做法,因为有人最终可以获取API密钥并将消息作为我的应用程序发送。
那么解决方案是什么?拥有一台服务器并使设备只与该服务器通信,所以当我想将消息发送到另一台设备时,它会转到服务器,从服务器转到该目标设备?
还有一个问题:
public void onMessageReceived(String from, Bundle data)
这是GcmListenerService的一种方法。什么时候"来自"不同于默认的senderID?因为我尝试将消息直接从一个设备发送到另一个设备而且#34;来自"仍然是我在网站上注册应用程序时获得的默认发件人ID。
答案 0 :(得分:0)
基本上,您需要一台服务器来收听上游消息并再次向目标收件人广播。
您可以在此处找到描述此内容的文章:http://javapapers.com/android/android-chat-with-google-gcm-xmpp/
这种方法非常有限,并不像拥有自己的消息服务器那样灵活,但应足以进行概念验证。