配置文件更改 - 移动应用程序应该轮询还是有 push/notify 客户端的方法?

Configuration file change - Should mobile app poll or is there a way to push/notify client?

我开发了一个 Android 移动应用程序,它使用存储在配置文件中的信息来上传文件。此配置文件最初驻留在服务器上,移动应用程序在首次使用时将从服务器下载此文件。

现在接下来可能发生的是服务器端的配置文件(一个JSON文件)会改变。那么解决这个问题的最佳方法是什么?客户端移动应用程序是否应该继续轮询服务器并检测到大小/修改日期的任何变化,或者是否有更有效的方法可以轻松地将一些消息或通知从服务器推送到客户端,然后客户端将下载更新的配置文件.我不喜欢投票。此外,定期轮询会增加数据使用量,即使可能不多,但在数据计划非常有限的少数情况下确实很重要。

谢谢

就可扩展性、设备电池影响和网络效率而言,推送消息通知客户端新配置可用是更好的解决方案(请记住避免让所有客户端同时下载新配置)。

如果您只使用 Android,

Google Cloud Messaging 是一个理想的解决方案。它实际上是免费的,并在 Google 的基础设施上运行。如果配置足够小 (<4kb),您甚至可以使用 GCM 将其直接发送到设备,而不是从您的服务器下载。

但是,实现推送通知比简单的轮询稍微复杂一些。如果(与绝大多数应用程序一样)您的应用程序只有少数用户,您可能希望从一个简单的轮询机制开始。