微软热更新集成
一、安装部署code-push
1、安装
yarn add react-native-code-push
2、注册并登录
注册:https://appcenter.ms/apps
登录
code-push login
此时会在浏览器弹出一个网页,把token粘贴过来。
添加项目,如果安卓和苹果两个平台,需要创建两个App名字
code-push app add <App名称>
``
3、获取创建App的key
code-push deployment ls <App名称> -k
二、ios集成
1、通过cocoapod导入,在podfile添加
#CodePush plugin dependency
pod 'CodePush', :path => '../node_modules/react-native-code-push'
2、执行pod install
3、配置xcode,如图
图1 图2
图3创建CODEPUSH_KEY
在info.plist 添加CodePushDeploymentKey,修改为CODEPUSH_KEY
图4
最后需要把工程切换到release版
图5
4、Appdelegate入口修改为
jsCodeLocation = [CodePush bundleURL];
三、发布更新版本
1、
--deploymentName Production
为发布包,不填为测试包
--mandatory true
是否强制更新
--description "第2次更新"
更新描述
code-push release-react JXSHTextIOSAPP ios --deploymentName Production --mandatory true --description "第2次更新"
四、ReactNative代码部署
import CodePush from "react-native-code-push"; //引入code-push
let codePushOptions = {
//设置检查更新的频率
//ON_APP_RESUME APP恢复到前台的时候
//ON_APP_START APP开启的时候
//MANUAL 手动检查
checkFrequency : CodePush.CheckFrequency.ON_APP_RESUME
};
这行是一定要有的,不然不会自动更新
mobike = CodePush( codePushOptions )( mobike );
可以做一个提示Alert
CodePush.sync( {
//安装模式
//ON_NEXT_RESUME 下次恢复到前台时
//ON_NEXT_RESTART 下一次重启时
//IMMEDIATE 马上更新
installMode : CodePush.InstallMode.IMMEDIATE ,
//对话框
updateDialog : {
//是否显示更新描述
appendReleaseDescription : true ,
//更新描述的前缀。 默认为"Description"
descriptionPrefix : "更新内容:" ,
//强制更新按钮文字,默认为continue
mandatoryContinueButtonLabel : "立即更新" ,
//强制更新时的信息. 默认为"An update is available that must be installed."
mandatoryUpdateMessage : "必须更新后才能使用" ,
//非强制更新时,按钮文字,默认为"ignore"
optionalIgnoreButtonLabel : '稍后' ,
//非强制更新时,确认按钮文字. 默认为"Install"
optionalInstallButtonLabel : '后台更新' ,
//非强制更新时,检查到更新的消息文本
optionalUpdateMessage : '有新版本了,是否更新?' ,
//Alert窗口的标题
title : '更新提示'
} ,
} ,
);
四、code-push指令
- 安装:
npm install -g code-push-cli
- 注册账号:
code-push register
- 登陆:
code-push login
- 注销:
code-push logout
- 添加项目:
code-push app add [app名称]
- 删除项目:
code-push app remove [app名称]
- 列出账号下的所有项目:
code-push app list
- 显示登陆的token:
code-push access-key ls
- 删除某个access-key:
code-push access-key rm <accessKey>
- 部署一个环境:
code-push deployment add <appName> <deploymentName>
- 删除部署:
code-push deployment clear <appName> Production or Staging
- 列出应用的部署:
code-push deployment ls <appName>
- 查询部署环境的key:
code-push deployment ls <appName> -k
- 查看部署的历史版本信息:
code-push deployment history <appName> <deploymentNmae>
- 重命名一个部署:
code-push deployment rename <appName> <currentDeploymentName> <newDeploymentName>
网友评论