当先锋百科网

首页 1 2 3 4 5 6 7

一、现象

现在主流的app版本管理:
对于iOS的应用:

  • 方式一:AppStore
    缺点:大家都知道,审核时间,审核时间,审核时间!
  • 方式二:第三方服务,比如费米,蒲公英
    前提:必须是企业级开发者证书
    缺点:毕竟是第三方的服务器,虽然提供了很方便的下载更新功能,但是万一人家服务器有问题,你就得等,甚至出现过强行删除用户app以达到恢复使用的目的,并且可能某些接口已经改变,而你并不知道,对你来说都是致命的,这个蒲公英就是典型,简直头皮发麻。

对于Android的应用:

  • 方式一:基本都是放在第三方的服务器上。
    缺点:都是别人家服务器,出现问题都是自己的事。
二、场景

针对所有第三方服务器都有的弊端,那可不可以搭建自己的服务器,实现版本控制呢?答案是可以的。

三、准备
  • 用于存储的apk、ipa的文件服务器【这里注意是静态资源服务器,至于用什么技术去搭建,不强求】
  • 域名和ssl证书【重要,如果不是https的域名服务,iOS的plist只能下挂在第三方https的文件仓库中,比如码云,github等等】
  • iOS企业级开发者证书【也是硬性要求,苹果规定只有企业级的证书打包出来的app才可以放在第三方服务器中下载】
  • Android打包签名证书
  • 需要上传服务器的版本控制文件
  • 用户iOS应用更新的plist文件
    在这里插入图片描述
四、开发

这边的开发主要是下载更新的开发,不在本章内。如果原有的更新功能完整,只需要替换原来的下载路径和上传apk、ipa、plist、版本文件即可。
主要涉及到的ionic自带的cordova插件

  • FileTransfer
    用于下载
  • AppVersion
    用于获取本地版本号
  • FileOpener
    打开下载的升级文件
  • Diagnostic
    检查相应权限
  • HTTP
    网络请求插件
五、注意点

下载地址:

  • 安卓就是对应的服务器地址
  • iOS的地址有些特殊
    下载地址需要经过urlEnCode
    itms-services://?action=download-manifest&url=编码后的地址