kotlin/ Swift : 请问: 如何保持 APP 客户端文件版本最新?

2020-10-07 15:43:49 +08:00
 sprinter

客户端 APP 从服务器上下载 A,B,C 三个文件, 今后这 3 个文件的内容会在服务器上频繁更新, 请问:如何保持客户端(APP 端)ABC 三个文件版本最新?

我的思路:

  1. 每次 APP 启动时, 先发 Ajax 请求到服务器 php, php 算出并返回 A,B,C 三个文件的 MD5 值.

  2. APP 客户端比对服务器返回的 MD5 值和 APP 端文件的 MD5 值.

  3. 如果 MD5 值不一致, APP 客户端则从服务器上重新下载相应的文件并覆盖旧文件.

请问上述方法可行吗? 有没有更高效省事的方法? 谢谢

1325 次点击
所在节点    问与答
6 条回复
66450146
2020-10-07 16:33:54 +08:00
加一个请求文件状态的 API,比如`/api/v1/file_status`,在里面返回每个资源的`modified_at`,本地如果发现资源太老就重新请求
xunco
2020-10-07 16:37:02 +08:00
楼上正解
ChenFanlin
2020-10-07 18:07:09 +08:00
1 楼说的对
感觉这就是类似 HTTP 缓存的原理, 也可以参考下
kangsheng9527
2020-10-07 18:16:23 +08:00
这里要加入逻辑考虑破解问题。。。
启动按照你的思路做以便,然后
客户端服务端通讯要使用文件 md5 信息作为加密的 salt 。。。
对不上直接无法通讯。。。返回重启 app 进入检查更新。。。
保证 app 跟随服务端永远最新!
Cbdy
2020-10-07 18:28:39 +08:00
可以用 etags
sprinter
2020-10-07 19:28:37 +08:00
ding---------------

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/712917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX