如何在没有数千个请求的情况下不断检查服务器上的某些内容 (Parse) 是否已更改?

How do I constantly check if something on a server (Parse) has changed without thousands of requests?

我正在创建一个具有关注机制的应用程序,其中关注的用户必须接受关注的请求(类似于 instagram 上的私人帐户)。

然后我希望下面的用户找出其他用户何时检查了一百万次(如果我在 viewDidLoad 中进行查询,则每次下面的用户打开屏幕时)。但是,这样做的问题是,会有很多请求,这对我来说很昂贵,因为我必须为 Parse 的请求付费,所以我想尽量减少这些查询。

目前,我能想到的最好的事情是例如每天午夜检查一次,但这似乎不是很无缝。

有更好的方法吗?

对于初学者来说,请考虑您愿意让应用程序的世界观有多陈旧,并将响应缓存那么久。如果用户每 30 秒查看一次该屏幕,您可能只想在最后一次成功响应(或最后一次响应有 0 个跟随请求)后 5 分钟实际检查服务器。

您可以考虑从这种 "pull" 轮询(客户端决定何时询问服务器是否有任何更改)切换到 "push" 模型,服务器可以在更改时通知客户端发生。例如,您可以在用户有关注请求时向他们的设备发送静默后台推送通知,然后该应用可以通过执行您现有的查询来响应。

您可能仍然希望轮询或用户触发的请求(如 "pull to refresh" 手势)作为错过通知或禁用通知的设备的后备,但您应该能够大幅减少请求量。