cordova chcp热更新

参考文章 https://blog.csdn.net/lovelyelfpop/article/details/50848524#javascript-module

1、cordova 工程目录添加热更新插件

    cordova plugin add cordova-hot-code-push-plugin

2、cordova工程目录cordova-hcp.json文件,用于执行cordova-hcp build重新生成release版本时设置默认值,内容参考如下:

    {

      "autogenerated": true,

      "update": "start",

"content_url": "***/www”

    }

update 用于设置什么时候检测是否有资源更新文件,start表示app启动时

content_url 的值代表服务器上的资源文件路径,即完整的www目录

3、config.xml中配置如下代码:

   

   

   

 

这里设置的都是不自动下载、不自动安装,都是通过后面js方法来进行控制

config-file指定的是用于判断资源是否有更新的chcp.json文件路径,应用启动后,会基于此路径到服务器获取最新的,并于本地的chcp.json文件做比较,通过release来判断

4、每次发版本之前,需要执行cordova-hcp build重新在www上生成chcp.json文和chcp.manifest文件

5、使用了热更新插件之后,如果要保证外壳整体更新,则需要改变config.xml上的version

6、版本检测js代码

ons.notification.confirm({

    title: '小版本更新',

    message: tips,

    buttonLabels: ['取消', '确定'],

    primaryButtonIndex: 1,

    callback: function (index) {

        switch (index) {

            case 1:

                $rootScope.showWaitModal("开始下载...");

                chcp.fetchUpdate(function (error, data) {

                    if (error == null) {

                        $rootScope.showWaitModal("正在安装...");

                        chcp.installUpdate(function (error) {

                            $rootScope.hideWaitModal();

                            if (error == null) {

                                showAlert('安装更新完成...');

                            } else {

                                showAlert('安装更新失败...' + JSON.stringify(error));

                            }

                        });

                    } else {

                        $rootScope.hideWaitModal();

                        showAlert('下载更新失败...' + JSON.stringify(data));

                    }

                });

                break;

            default:

                console.log("取消安装更新...");

                break;

        }

    }

});

你可能感兴趣的:(cordova chcp热更新)