管理 CodePush 账号需要通过 NodeJS-based CLI。只需要在终端输入 npm install -g code-push-cli
,就可以安装了。
安装完毕后,输入 code-push -v
查看版本,如看到版本代表成功。
在终端输入code-push register,会打开注册页面让你选择授权账号。
授权通过之后,CodePush会告诉你“access key”,复制此key到终端即可完成注册。完成注册后会自动登录账号,你的session文件将会写在 /Users/你的用户名/.code-push.config。
相关命令
code-push login 登陆
code-push loout 注销
code-push access-key ls 列出登陆的token
code-push access-key rm 删除某个 access-key
为了让CodePush服务器知道你的app,我们需要向它注册app: 在终端输入code-push app add
即可完成注册。
注册完成之后会返回一套deployment key,该key在后面步骤中会用到。如果你的应用分为Android和iOS版,那么在向CodePush注册应用的时候需要注册两个App获取两套deployment key,如:
code-push app add MyApp-Android
code-push app add MyApp-iOS
相关命令
code-push app add 在账号里面添加一个新的app
code-push app remove 或者 rm 在账号里移除一个app
code-push app rename 重命名一个存在app
code-push app list 或者 ls 列出账号下面的所有app
code-push app transfer 把app的所有权转移到另外一个账号
npm install --save react-native-code-push
apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
import com.microsoft.codepush.react.CodePush;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
...
// 添加的内容---------------------------
@Override
protected String getJSBundleFile() {
return CodePush.getJSBundleFile();
}
// 添加的内容---------------------------
};
}
<string moduleConfig="true" name="CodePushDeploymentKey">你的DeploymentKey</string>
在App启动时检查更新,最简单的方式是在根component中进行请求
CodePush.sync({
updateDialog: {
appendReleaseDescription: false,
descriptionPrefix: '\n\n更新内容:\n',
title: '更新',
mandatoryUpdateMessage: '有最新版本需要更新',
mandatoryContinueButtonLabel: '确定'
}
})
如果你期望更及时的获得更新,可以在每次APP从后台进入前台的时候去主动的检查更新,在应用的根component的componentDidMount
中添加如下代码:
AppState.addEventListener("change", (newState) => {
newState === "active" && codePush.sync();
});
sync方法,提供了如下属性以允许你定制sync方法的默认行为:
通过code-push release-react发布更新
code-push release-react MyApp-iOS ios --t 1.0.0 --dev false --d Production --des "1.优化操作流程" --m true
其中参数–t为二进制(.ipa与apk)安装包的的版本;–dev为是否启用开发者模式(默认为false);–d是要发布更新的环境分Production与Staging(默认为Staging);–des为更新说明;–m 是强制更新。
关于code-push release-react
更多可选的参数,可以在终端输入code-push release-react
进行查看。
另外,我们可以通过code-push deployment ls
来查看发布详情与此次更新的安装情况。