cordova hot load - eju-front/mobile-solution GitHub Wiki
动态更新应用 www 目录下的 H5 相关本地资源
安装 CodePush 命令行工具
npm install -g code-push-cli创建 CodePush 账号
code-push register登录 CodePush 账号
code-push logincode-push app add <appName>创建完成后命令行会显示 Production 和 Staging 两个 Deployment Key,通常前者用于产品环境,后者用于测试环境
在工程目录下执行以下命令
cordova plugin add cordova-plugin-code-push@latest然后修改 config.xml,填入以下内容,并在对应处修改为创建应用时获得的 Deployment Key。
<platform name="android">
<preference name="CodePushDeploymentKey" value="YOUR-ANDROID-DEPLOYMENT-KEY" />
</platform>
<platform name="ios">
<preference name="CodePushDeploymentKey" value="YOUR-IOS-DEPLOYMENT-KEY" />
</platform>如果 config.xml 中允许访问的域名设置不是 <access origin="*" /> ,则需要按照以下方式添加白名单
<access origin="https://codepush.azurewebsites.net" />
<access origin="https://codepush.blob.core.windows.net" />
<access origin="https://codepushupdates.azureedge.net" />接着在页面头部添加以下元素
<meta http-equiv="Content-Security-Policy" content="default-src https://codepush.azurewebsites.net 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *" />最后确认 cordova-plugin-whitelist 插件是否已经安装完成。
在应用需要进行检查更新的地方添加以下代码,一般在 deviceready 事件时执行
codePush.sync();如果需要检测次数更频繁,可以按照以下代码在每次应用进入前台时检测
document.addEventListener("resume", function () {
codePush.sync();
});通常 CodePush 检测到新版本后会下载新版本到本地并在下次启动后进行安装,对于强制更新的内容则会立即进行安装
如果需要定制弹出的对话框等个性化信息,可以查看 官方 API
执行以下命令进行 Release,CodePush 会自行管理每次 Release 的版本号
code-push release-cordova <appName> <platform> [-m] [--description <desc>] [-x]-
-m强制更新,默认更新会在应用下次启动时安装,强制更新则会弹出提示对话框 -
--description更新内容的描述
除了以上基本命令,CodePush 还支持 A/B 测试
code-push release-cordova <appName> <platform> --rollout <percent>-
--rollout表示更新的群体所占比例,如25%
查看所有应用
code-push app ls添加项目合作者,合作者需要已经注册了 CodePush
code-push collaborator add <appName> <collaboratorEmail>查看部署历史记录
code-push deployment ls <appName> [-k]-
-k同时显示deployment key