0

我正在开发一个需要显示某种在线/离线指示器的移动网络应用程序。该应用程序由我们定期同步的 REST API 支持,同时将任何本地更改存储在 WebSQL 数据库中。我们每 10 分钟拉出任何服务器更改,但任何本地更改都会立即进行,尽管如果由于更改存储在本地而失败POST也没什么大不了的。POST

问题是:在这种情况下,在线状态指示器有多大用处?为了完成这项工作,我们将不得不在 API 上添加一个状态方法,我们可以每分钟 ping 一次(待定),这将增加移动数据消耗并给服务器带来负载。更重要的是,如果 REST api 在我们 ping 时是活动的,然后在 30 秒后尝试进行同步时关闭(因为我们认为我们“在线”),则用户可以online = true在 UI 中看到实际调用 REST API失败的。

我的感觉是我们不应该费心显示状态指示器 - 如果呼叫失败,大多数时候用户不需要担心,更重要的是他们知道最后一次成功同步是 X 分钟前.

4

2 回答 2

0

也许比在线/离线指示器更有价值的是某种标签,指示上次成功同步的时间。例如“上次同步 _ 分钟前。”,以及在无法同步时查看任何类型错误状态的某种方式。

于 2013-09-04T22:58:55.680 回答
0

好吧,从您需要添加此功能的前提开始,我会说拥有此功能对于拥有该功能非常有用。但我想你真的在质疑这样一个功能的优点。

个人觉得比较没用。正如您所说,仅仅因为您能够 ping 并不意味着您将能够推送/拉取更新。只是一个简单的显示你上次推/拉以来的时间会很好。

为了清楚起见,我必须显示,因此您上次发送数据的时间和上次提取数据的时间都很清楚。这使用户可以知道他们有多少数据仅存储在他们的设备上,并且还知道他们的信息有多过时。

不过这里要考虑的一件事是,如果用户现在知道距离他们上次同步已经很久了,他们可能会开始希望能够按需同步,这可能会导致负载增加。你最好让用户蒙在鼓里。让他们相信系统正常工作。

于 2015-08-12T08:24:17.007 回答