经过多次研究并碰壁几次,现在是时候问一些问题。
我正在开发一个项目,它将从Web客户端向服务器发送消息,然后服务器应该通知多个客户端有关更新的信息,这应该在几秒钟内完成。
首先我想到了使用GCM通知,但是用户必须推送通知才能在客户端上运行某些代码(打开gps和东西),但我的客户没有时间点击到达时的通知。所以必须在没有用户交互的情况下完成。
我想到的另一件事是,如果Android客户端可以收听c#服务器并在服务器收到新消息时运行代码,但我还没有找到一个有效的折磨人。我在没有推动的情况下再次调查GCM,只是回传信息,但是很难开始工作。套接字也是一种选择,但它似乎也很难开始工作,我不确定这些选项是否可行。
所以我想让android有一个后台服务,它在我的c#服务器上轮询数据库或方法。
任何人都可以告诉我什么是正确的选项,也许可以链接到教程,这是一个很好的一步一步的事情。
如果我可以选择在稍后的IOS上使用它,那可能会很好。
答案 0 :(得分:0)
如果我理解正确,您尝试做的事情可以通过以下方式之一轻松完成:
1)使用有效载荷的GCM消息!当移动客户端收到通知时,它将获得有效负载并继续执行特定操作。 http://developer.android.com/google/gcm/adv.html - http://developer.android.com/training/cloudsync/gcm.html#react
2)使用SyncAdapter
并使您的应用使用AlarmManager
,它会定期告诉应用通过SyncAdapter
轮询服务器并检查新内容。触发SyncAdapter
的另一种方法是发送GCM通知,就像第一步一样。 http://developer.android.com/training/sync-adapters/creating-sync-adapter.html