【问题标题】:Checking server response Periodically定期检查服务器响应
【发布时间】:2014-11-20 06:32:30
【问题描述】:

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

【问题讨论】:

  • 改用推送消息。
  • 你能把推送消息解释的链接发给我吗
  • 我认为满足您要求的最佳选择是 GCM。 GCM 还可以通过他/她的 regId 向特定用户发送响应。
  • 通过他的 regId 到特定用户,你的意思是设备 ID 或数据库中给定的登录 ID

标签: android


【解决方案1】:

您应该使用 Google 云消息传递。 首先当用户第一次安装应用程序时。下面可以是应用的算法

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

  • 如果设备尚未注册

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

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

  • 向 GCM 和 regID 发送消息
  • GCM 识别 regID 并定位设备。
  • GCM 将消息广播到设备(如果在线)或等到设备在线时
  • 您的设备应该从 GCM 获取消息(该消息可以是一个 action_key,它定义了您的意图,例如 PICK_UP 可能意味着:“嘿,服务器需要您获取一些信息”)
  • 因此,如果消息等于 PICK_UP,请执行一些操作,例如连接到服务器并选择需要的内容
  • 不应将大数据从服务器发送到 GCM

使用 GCM 将使您免于定期向服务器请求信息。 它还可以让您的用户避免不必要地浪费大量带宽。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    相关资源
    最近更新 更多