我有两台运行gcm客户端应用的Android设备。我得到了两台设备的Reg ID。我还有一个服务器API密钥。现在的事情是,使用cUrl或Zend框架使用简单的PHP代码,我能够从Web服务器向我的一个机器人发送消息(当然我也可以广播)。但是,有了这个,有没有办法从一个设备发送字符串到另一个设备?
答案 0 :(得分:3)
从my book引用自己:
您可能很想使用GCM进行点对点消息传递,而无需使用服务器 你自己。实际上,每个Android应用程序都是自己的服务器,使用相同的JAR 可能会在Android应用内的Web应用中使用,以便向其他人发送消息 派对。例如,您可以在没有专用的情况下实现聊天系统 聊天服务器。
这里存在的危险是,这需要将API密钥嵌入其中 你的Android应用程序。拥有该API密钥的任何人都完全有能力锻造 来自你的消息。您可以对该API密钥进行IP地址限制 不太可能有所帮助,因为您的合法用途可能来自任何IP地址,而不是 只是一些单一的服务器因为在APK文件中找到魔术字符串并不困难 对于有倾向的人,将API密钥放入APK文件是危险的 移动。
因此,您需要一些自己的服务器作为中间人。
答案 1 :(得分:2)
您可以做的一件事就是使用其他Android设备的消息和注册ID向您的网络服务器发出POST请求,但这样做有点麻烦,因为您必须找到一种方法从您的网络服务器检索其他Android设备的注册ID。
我建议调查XMPP,因为这个协议是从一开始就构建成一个广泛的消息传递协议。我非常确定您会找到优秀的XMPP服务器框架来实现您的功能。