这两天给项目弄热更新,想了解下怎么弄,结果搜到竟是一些骚操作,看的脑壳疼,这里是我弄完之后整理出的最最基础的热更新操作,将扩展功能都抽离出去,只是实现热更新没有骚操作,我照着又重做了一遍避免出现笔误。
ionic cordova plugin add cordova-plugin-code-push
npm install --save @ionic-native/code-push
npm install -g code-push-cli
code-push register
会在弹出的浏览器窗口中注册,有的话请忽略
code-push login
登录成功,然后出现一个token码,复制token码到终端
code-push app add 项目名 系统类型(android/ios)平台(cordova或其他)
运行会返回项目的key,注意保留,后面会用到,返回的key有二个,这里只用Staging的key,以下所有用到key的地方,指的都是Staging的key,二者区别这里不进行介绍
<platform name="android">
<preference name="CodePushDeploymentKey" value="你的安卓平台的key" />
</platform>
<platform name="ios">
<preference name="CodePushDeploymentKey" value="你的ios平台的key" />
</platform>
<access origin="https://codepush.azurewebsites.net" />
<access origin="https://codepush.blob.core.windows.net" />
<access origin="https://codepushupdates.azureedge.net" />
*如果你的config.xml里有<access origin="*" />,可以不用添加
1.9、确认cordova-plugin-whitelist插件
输入cordova plugin ls命令,查看列表中是否有cordova-plugin-whitelist
如果没有则输入
cordova plugin add cordova-plugin-whitelist
import { CodePush } from '@ionic-native/code-push';
providers: [CodePush]
发布更新不需要写任何代码,完全通过终端输入命令来操作
Ionic cordova prepare android
Ionic项目发布前,需要执行这个命令打包*每次发布都要执行
Code-push release-cordova 项目名 平台类型(android/ios)
后面可以跟多个参数选项,可以输入Code-push release-cordova ?来查看
列如对本次更新进行描述的设置方法:
Code-push release-cordova ionic3-hotnew-android android --description,=”0.0.2版本更新:优化系统性能,解决已知问题”
Code-push deployment ls 项目名
this.codePush.sync().subscribe();
这个方法写在哪都行,什么时候触发就什么时候更新,不需要知道为什么,这是ionic的本地支持中提供的一个简便方法,里面将一系列的复杂操作进行了封装,简单到只用这一个方法就可以实现最基础的热更新,该方法还提供了一些参数选项进行有限的控制,包括下载进度,更新提示框等,感兴趣可以Ctrl+单击sync()去看看都有什么。
用这个方法之前需要在用的页面导入:
import { CodePush } from '@ionic-native/code-push';
并在构造器中声明:
private codePush: CodePush,
网友评论