美文网首页程序员
ionic3实现最基础的热更新功能

ionic3实现最基础的热更新功能

作者: 米娜与罗夏 | 来源:发表于2018-09-07 12:39 被阅读0次

    这两天给项目弄热更新,想了解下怎么弄,结果搜到竟是一些骚操作,看的脑壳疼,这里是我弄完之后整理出的最最基础的热更新操作,将扩展功能都抽离出去,只是实现热更新没有骚操作,我照着又重做了一遍避免出现笔误。

    1、准备步骤

    1.1、安装热更新插件

    ionic cordova plugin add cordova-plugin-code-push

    1.2、安装ionic本地支持

    npm install --save @ionic-native/code-push

    1.3、安装控制台

    npm install -g code-push-cli

    1.4、注册code-push

    code-push register

    会在弹出的浏览器窗口中注册,有的话请忽略

    1.5、登录

    code-push login

    登录成功,然后出现一个token码,复制token码到终端

    1.6、建立项目

    code-push app add 项目名 系统类型(android/ios)平台(cordova或其他)

    运行会返回项目的key,注意保留,后面会用到,返回的key有二个,这里只用Staging的key,以下所有用到key的地方,指的都是Staging的key,二者区别这里不进行介绍

    1.7、在config.xml里添加如下内容

    <platform name="android">

    <preference name="CodePushDeploymentKey" value="你的安卓平台的key" />

    </platform>

    <platform name="ios">

    <preference name="CodePushDeploymentKey" value="你的ios平台的key" />

    </platform>

    1.8、在config.xml里添加下面三行

    <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

    1.10、app.module.ts中引入

    import { CodePush } from '@ionic-native/code-push';

    providers: [CodePush]

    2、使用方法

    发布更新不需要写任何代码,完全通过终端输入命令来操作

    2.1、发布更新准备

    Ionic cordova prepare android

    Ionic项目发布前,需要执行这个命令打包*每次发布都要执行

    2.2、发布到服务器

    Code-push release-cordova 项目名 平台类型(android/ios)

    后面可以跟多个参数选项,可以输入Code-push release-cordova ?来查看

    列如对本次更新进行描述的设置方法:

    Code-push release-cordova ionic3-hotnew-android android --description,=”0.0.2版本更新:优化系统性能,解决已知问题”

    2.3、查看发布的状态(*非必须命令)

    Code-push deployment ls 项目名

    2.4、接收更新

    this.codePush.sync().subscribe();

    这个方法写在哪都行,什么时候触发就什么时候更新,不需要知道为什么,这是ionic的本地支持中提供的一个简便方法,里面将一系列的复杂操作进行了封装,简单到只用这一个方法就可以实现最基础的热更新,该方法还提供了一些参数选项进行有限的控制,包括下载进度,更新提示框等,感兴趣可以Ctrl+单击sync()去看看都有什么。

    用这个方法之前需要在用的页面导入:

    import { CodePush } from '@ionic-native/code-push';

    并在构造器中声明:

    private codePush: CodePush,

    相关文章

      网友评论

        本文标题:ionic3实现最基础的热更新功能

        本文链接:https://www.haomeiwen.com/subject/najopftx.html