我们计划在Android上开发消息/聊天类应用程序。我们计划使用GCM来交换消息。传统的方法是让Application Server存储用户的所有gcmid以及user1是否要发送消息给user2,
1. user1将消息发送到应用服务器,其中包含有效消息,其中包含消息和receipent id,即user2 2.应用服务器检索user2的gcmid并调用sender.send(regid2,message) 3.User2收到消息。
我发现它只是对https://android.googleapis.com/gcm/send的REST API调用。
因此,如果somhow user1具有user2的gcmid,为什么我们不能直接从user1设备调用gcm API来减少服务器上的负载和服务器上的操作成本。请告诉我这个。
注意:我们不打算使用Upstreaming
答案 0 :(得分:1)
我使用Device_To_Device_Messaging_Using_Google_Cloud_Messaging_GCM_-_Android_Example教程做了同样的事情。这个tut是使用gcm编译服务器以及客户端代码。通过它,将帮助你实现你想要的。
答案 1 :(得分:0)
所以如果以某种方式 user1具有user2的gcmid ...
我认为这正是困难所在。如果从设备直接调用GCM API,则需要将gcmid从一个设备传输到其他设备,到目前为止,我能想到的最简单,可扩展的解决方案是使用可从每个设备访问的服务器。