React Native Code Push

Code Push是微软提供的一套可以热更新React Native的服务。可以使用微软的服务器也可以自己部署服务器。

 

1.安装Code Push

使用命令npm install -g code-push-cli安装Code Push。

2.注册Code Push账号

在终端输入code-push register就会跳转到授权网页,授权完成后,CodePush会显示你的Access Key,复制输入到终端即可完成注册并登陆。

(如果不输入code-push logout退出登录命令,登录状态会一直有效)

3.在终端输入code-push app add <appName> <os> <platform>即可完成创建项目。

4.在要集成的项目输入npm install --save react-native-code-push下载code-push到项目,然后分别集成到IOS、Android,项目中填写创建项目的Key。

5.在React Native根组件componentDidMount中添加更新代码

codePush.checkForUpdate(deploymentKey).then((update) => {
                            if (!update) {
                                Alert.alert("提示", "已是最新版本--", [
                                    {
                                        text: "Ok", onPress: () => {
                                        console.log("点了OK");
                                    }
                                    }
                                ]);
                            } else {
                                codePush.sync({
                                        deploymentKey: deploymentKey,
                                        updateDialog: {
                                            optionalIgnoreButtonLabel: '稍后',
                                            optionalInstallButtonLabel: '立即更新',
                                            optionalUpdateMessage: '有新版本了,是否更新?',
                                            title: '更新提示'
                                        },
                                        installMode: codePush.InstallMode.IMMEDIATE,

                                    },
                                    (status) => {
                                        switch (status) {
                                            case codePush.SyncStatus.DOWNLOADING_PACKAGE:
                                                console.log("DOWNLOADING_PACKAGE");
                                                break;
                                            case codePush.SyncStatus.INSTALLING_UPDATE:
                                                console.log(" INSTALLING_UPDATE");
                                                break;
                                        }
                                    },
                                    (progress) => {
                                        console.log(progress.receivedBytes + " of " + progress.totalBytes + " received.");
                                    }
                                );
                            }
                    }

6.输入命令code-push release-react <appName> <platform> [options]即可发布更新版本。

参数包括更新面向的版本号、是否强制更新、发布到Staging或Production等。

 

posted @ 2018-01-02 09:40  不骄不傲  阅读(637)  评论(0编辑  收藏  举报