13397158231   jevian_ma@worldflying.cn

cordova热更新技术

2017-07-30 09:45:00

app的热更新技术在最近由于苹果商城的原因,被推上了风口浪尖,苹果商城明确表示禁止app带有热更新功能。同时由于后续大量下架中国的app,因此导致app的热更新问题一时成了一段时间的热词。

首先,我来介绍一下什么是热更新:

热更新就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复 BUG 和发布功能,让开发者得以绕开苹果的审核机制,避免长时间的审核等待以及多次被拒造成的成本。

热更新的优点:

在iOS中有两种App更新方式:一种是在AppStore内进行更新,更新时重新下载全部安装包;另一种就是热更新,用户只有在打开App时才会发现热更新包,更新时只需下载安装更新部分的代码,再次打开时即可。热更新最大的优点就是快,它可以绕过苹果方面的审核,更新通常只需一个晚上即可上线,另一大优点就是更新包较小,一般都在1M左右,用户不连接WiFi也可随意下载。

热更新的风险:

由于软件热更新绕过了苹果的审核,黑客开发者有可能会通过提交正常的版本之后,通过热更新的方式修改APP导致安全隐患,这违反了苹果的安全隐私政策。另外苹果此举既能改善部分使用混编语言的App的流畅性,也能重新掌握一些渠道的App审核权限。


现在,大家大概也知道什么是热更新了吧,那么我再来介绍一下什么是Cordova的热更新。

在cordova各种插件之中,有一个插件名叫cordova-hot-code-push-plugin,需要在打算热更新的app打包过程中添加这个插件。

添加方式为:cordova plugin add cordova-hot-code-push-plugin

然后修改工程根目录的config.xml文件,添加:

<chcp>

    <auto-download enabled="true" />

    <auto-install enabled="true" />

    <config-file url="https://www.worldflying.cn/updateapp/www/chcp.json" />

</chcp>

然后新建一个cordova-hcp.json这个文件。

然后再里面填入

{

    "update": "start",//下次启动时再升级

    "content_url": "https://www.worldflying.cn/updateapp/www"

}

也可以是

{

    "update": "now",//立刻升级

    "content_url": "https://www.worldflying.cn/updateapp/www"

}

然后安装热更新命令行工具npm install -g cordova-hot-code-push-cli

然后执行cordova-hcp build这个命令。当执行完这个命令后,会在项目根目录下的www目录中生成chcp.json和chcp.manifest两个文件。chcp.json包含了项目的版本信息,服务器的更新地址等信息。chcp.manifest包含了www目录下的文件和对应的hash码值。

然后直接执行cordova build android或是其他平台,那么这个app就具备了自动升级的功能。


服务器的配置就很简单了,只需要将工程中的www文件放到web服务器中对应的www中,然后将生成的chcp.json也放在那里即可。


最后说明一下,如果程序希望热更新,必须包入<script type="text/javascript" src="cordova.js"></script>

并且在document.addEventListener("deviceready", function () { return 0;}, false);

执行前页面不要跳转到其他地方去。

优秀产品推荐:可编程网络IO控制器

上一篇:购买阿里云云服务器的步骤

下一篇:Linux下的网站发布脚本

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务