Code Push是微软公司开发的平台,我们可以利用这个平台动态下发
Cordova
、React Native
App的最新代码。(其实就是动态下发最新的 js/css/image 等资源文件,native的代码不能动态下发)Ionic App本质上是基于Cordova的,所以也可以用这种方式来更新
以下是操作步骤
注意:Code Push服务器在国外(微软的azure
云平台),国内连接不稳定。
步骤
准备工作
// 安装code-push cli
$ npm install -g code-push-cli
// 注册帐号
$ code-push register
添加App
// 添加App后会获得 Deployment Key,需要配置到config.xml中
$ code-push app add <appName>
┌────────────┬───────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼───────────────────────────────┤
│ Production │xxxxxxxxxxxxxxxxxxxxxxxxxxxxx │
├────────────┼───────────────────────────────┤
│ Staging │ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx │
添加插件
$ ionic plugin add cordova-plugin-code-push
$ npm install --save @ionic-native/code-push
$ ionic state save
$ cordova plugin save
配置 Deployment key
需要在config.xml中配置
<platform name="android">
<preference name="CodePushDeploymentKey" value="xxxxxxxxxxxxxxxxxxx" />
</platform>
<platform name="ios">
<preference name="CodePushDeploymentKey" value="xxxxxxxxxxxxxxxxxxx" />
</platform>
代码检查更新
// home.ts
import { CodePush } from '@ionic-native/code-push';
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [CodePush]
})
export class HomePage extends ISSPage
{
constructor(private codePush: CodePush) { }
checkUpdate()
{
this.codePush.sync().subscribe((syncStatus) => console.log(syncStatus));
}
}
发布版本
// 发布 Staging 版本
$ code-push release-cordova <appName> ios
// 发布 Production 版本
$ code-push release-cordova <appName> ios -d Production
// 查看已发布的版本
$ code-push deployment ls <appName> -k
网友评论