V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sprinter
V2EX  ›  问与答

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

  •  
  •   sprinter · 47 天前 · 602 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    我的思路:

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

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

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

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

    6 条回复    2020-10-07 19:28:37 +08:00
    66450146
        1
    66450146   47 天前
    加一个请求文件状态的 API,比如`/api/v1/file_status`,在里面返回每个资源的`modified_at`,本地如果发现资源太老就重新请求
    xunco
        2
    xunco   47 天前 via Android
    楼上正解
    ChenFanlin
        3
    ChenFanlin   47 天前   ❤️ 1
    1 楼说的对
    感觉这就是类似 HTTP 缓存的原理, 也可以参考下
    kangsheng9527
        4
    kangsheng9527   47 天前
    这里要加入逻辑考虑破解问题。。。
    启动按照你的思路做以便,然后
    客户端服务端通讯要使用文件 md5 信息作为加密的 salt 。。。
    对不上直接无法通讯。。。返回重启 app 进入检查更新。。。
    保证 app 跟随服务端永远最新!
    Cbdy
        5
    Cbdy   47 天前 via Android
    可以用 etags
    sprinter
        6
    sprinter   47 天前
    ding---------------
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1165 人在线   最高记录 5268   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:20 · PVG 03:20 · LAX 11:20 · JFK 14:20
    ♥ Do have faith in what you're doing.