ReactNative 之 code-push-server

前言.png

前言:code-push是 software 开源的一套可用于React Native,Cordova等的热更新功能,可以省去原生开发的审核机制,节约开发的时间成本,国内也有Pushy.但是 code-push 是在微软的服务器不方便调试,而且很不稳定,说不定还要收费,code-push-server可以解决此痛点.

1,安装code-push-server (源码安装,当然还可以使用 npm 方式的安装)

git clone https://github.com/lisong/code-push-server.git
cd code-push-server
npm install

2,初始化数据库(记得安装 MySQL 数据库)

./bin/db init --dbhost localhost --dbuser root --dbpassword 123456(改为你自己的数据库密码)

3,启动server

./bin/www

会发现一堆的错误,是因为我们需要修改 config.js(位于code-push-server/config)

修改红框中的其他默认
创建路径
创建路径

4,终端登录 server

code-push login http://127.0.0.1:3000

输入命令
登录系统获取 token
点击获取
填写 token,登录成功

5,创建新的项目,注意版本iOS or Android

code-push app add 项目名称-ios ios react-native

创建新的项目

6,查看项目的 key

code-push deployment ls marketRN-ios -k

查看项目的 key

6,查看项目的上传记录

code-push deployment h marketRN-ios Staging

查看项目的上传记录

7,上传热更新内容

code-push release-react marketRN-ios ios

上传热更新内容

8,配置 APP, 以 iOS 为例

用 Xcode,打开 iOS 版本的应用,修改 info.plist, 添加两个字段

添加字段

<key>CodePushDeploymentKey</key>
<string>MEXuvXUBggE4HcLDnVgW9UP2f6TJ4ksvOXqog</string>
<key>CodePushServerURL</key>
<string>http://127.0.0.1:3000</string>

9,添加RN 代码

关键代码
onCheckUpdate() {
        codePush.checkForUpdate()
        .then((update)=>{
            if (!update) {
                alert('已是最新版本,客官请等等~');
            }else{
                codePush.sync({
                    // updateDialog: true,
                    updateDialog: {
                        optionalIgnoreButtonLabel: '稍后',
                        optionalInstallButtonLabel: '立即更新',
                        optionalUpdateMessage: '发现新版本,是否更新?',
                        title: '提示'
                    },
                    installMode: codePush.InstallMode.IMMEDIATE,
                    //宋金委本地的 codepushserver 的 key
                    deploymentKey: 'MEXuvXUBggE4HcLDnVgW9UP2f6TJ4ksvOXqog'
                });
            }

        });
}

10,测试示意图

提示更新
已是最新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值