Skip to content

Latest commit

 

History

History
41 lines (24 loc) · 2.1 KB

File metadata and controls

41 lines (24 loc) · 2.1 KB

app 更新的一些调研

APP 的一整套流程离不开更新, 这里我列了一些方案, 仅供参考

热更新

  1. rn中文网的 react-native-pushy

    • 收费, 免费的限制在30M以内(APP大小), 热更新补丁的大小为3M

    • 更新原理: 把包上传到pushy服务器, 每次更新的时候比对当前版本和服务器版本.

缺点: 只能更新js, 图片等代码, 如果有和原生相关的就不能更新了

  1. 微软的热更新 react-native-code-push

    • 安装, 注册, 修改安卓相关文件, 导入组件等等

缺点: 服务器在国外, 国内用户访问速度有点慢, 甚至访问不到

市场更新

对比版本, 让用户去市场更新, 思路: 点击更新的时候直接跳转到对应的市场APP的地方.

需要注意的是, 基本上每个手机品牌都有自己的商店, 事实上直接跳转到各个商店还是比较麻烦的, 更多的是给出一个下载链接, 跳转到浏览器下载

ios就非常友好, 只有一个APP store, 原生提供一下方法即可

需要服务端, 原生, 前端同步合作开发

自主更新

需要自己创建APP更新服务.

  1. App版本检测:分为自动检测和手动检测。自动检测是在首页加载之后进行检测,提示用户需要更新版本;手动检测是在App设置中提供入口,以供用户自己检测App是否为最新版本。需要将App的版本号和服务器上Apk的版本号作比较。
  2. Apk下载:从Apk文件服务器上下载最新版本Apk,需要展示下载进度,下载完成之后提示用户安装。需要注意的是,用户点击下载时,需要检测默认路径下有没有最新Apk,没有再进行下载,否则直接提示安装。这样可以防止恶意下载。
  3. 下载完成后会提示是否安装,点击安装即可。

需要服务端, 原生, 前端同步合作开发

综上所述, 要实现更新,

  1. 快速上线采用点击更新, 直接跳转APP下载页面即可
  2. 长远来看, 采用APP应用市场更新会更好