2015-11-06 117 views
0

我目前正在开发移动应用程序和休息服务。即使不需要更新并且数据没有更改,移动应用程序也可以执行大量的服务调用。为了消除这种休息调用的开销,我打算实施GCM(Google Cloud Messaging)。移动应用程序中的数据刷新策略

我的策略会是以下几点:

加载应用程序启动所需的所有数据。在服务器端识别到数据更改时,推送通知将通过GCM发送到受影响的设备,以便部分刷新数据(通过特定的其他呼叫)。这样做的好处是减少了服务方面的开销,因为在我看来,没有不必要的休息电话和更流畅的用户体验。缺点是应用程序依赖于GCM消息,并且他们及时到达。

我不确定这是否是正确的策略。有人可能会指出我的方向是否正确,并告诉我这是否是一种好的做法?

回答

0

我们可以回答细节之前使用的详细信息...

我不能确定这是否是这个正确的战略。有人可能会指出我的方向是否正确,并告诉我这是否是一种好的做法?

我会考虑给予一个总体答案的缘故:

A - 用户并不总是与应用“在线”,既没有网络,甚至没有欲望有过一次更新信息倍。

B - 用户是eletronicaly litterate足够了解程序的困难。

有了这些想法,那么这将是一个很好的做法是:

民意调查相关数据,存储在本地。在这个阶段,人们会考虑用户拥有和存储的相关信息,并附上日期标志。

一旦一个标志变为“老”(低于您的阈值),重新查询该数据。

操作遵循2条指令......当观察数据时,检查它的状态,显示用户是否最近,如果没有,则轮询它。如果是,如果用户选择操作(主要是POST),则重新查询数据。

这样,如果用户没有在前台应用程序,则没有静态开销。另外,他们应该使用你的“永远在线应用程序”,他们明白网络是必要的。

+0

我提到的数据会经常由移动应用的用户更新。部分应用程序需要向用户显示最近的数据(投票系统)。对不起,忘了在我的问题中提供这些信息。问题是我无法提供像你所建议的标志,因为我不知道数据何时应该更新。 – Marcel

+0

整体观念没有改变。在使用期间,当应用程序正在执行时(主要是在活动中),用户将只能看到一组子信息,因此,您继续对那些他看到的,下一个预期的组和以前看过的小组...这样,假设用户在电影院里看电影,如果电影按字母排序,然后检查当前字母+上一个字母和下一个字母。如果按区域排序,则检查附近的电影院数据等。 – Bonatti

+0

好吧,我想我明白了。你的意思是调用rest服务并将结果与​​设备上当前存储的结果进行比较,当用户对过期数据执行操作时执行刷新? – Marcel