定期检查服务器响应

时间:2014-11-20 06:32:30

标签: android

我正在创建一个用户注册和登录的应用程序。 Signin用户状态通过JSON在线发送到服务器,因为我使用的是mysql数据库。现在管理员想要向在线用户发送一些数据或提醒,我应该向android方面应用这种方法来连续检查服务器响应。当此响应出现时,新活动必须启动,管理员可以随时发送响应。 我使用AlarmManager制作服务方法以在1秒后检查服务器响应,这不是好方法,因为它使我的应用程序和移动缓慢持续服务创建。 建议我应该采取什么方法来连续检查服务器响应。有人告诉我使用谷歌云消息传递方法(如何将响应发送给特定用户?)但我需要建议或任何其他最佳方法

1 个答案:

答案 0 :(得分:0)

您应该使用Google Cloud Messaging。 首先当用户首次安装App时。下面可以是应用的算法

  • 用户尝试登录
  • 检查设备是否已注册 - (这是通过检查您最初保存regID的sharedPreference完成的)

  • 如果设备尚未注册

  • 使用GCM注册设备
  • GCM返回一个regID(一个很长的字符)
  • 将regID保存到您登录的用户的服务器
  • 将regID保存到sharedPreference
  • 继续在用户中登录

您可以从服务器向您的设备发送信息

  • 向GCM和regID发送消息
  • GCM识别regID并找到设备。
  • GCM在线播放消息或等待设备上线
  • 您的设备应该从GCM收到消息(该消息可以是定义您想要的动作的动作,例如PICK_UP可能意味着:“嘿,服务器需要您提取一些信息”)
  • 因此,如果消息等于PICK_UP,请执行某些操作,例如连接到服务器并选择所需内容
  • 您不应将大数据从服务器发送到GCM

使用GCM可以避免定期从服务器请求信息。 它还可以避免您的用户不必要地浪费这么多带宽。

我希望它有所帮助。