当前位置: 首页 > 工具软件 > CodePush > 使用案例 >

RN:CodePush热更新

虞正业
2023-12-01

什么是CodePush

CodePush是一个微软开发的云服务器。通过它,开发者可以直接在用户的设备上部署手机应用更新。CodePush相当于一个中心仓库,开发者可以推送当前的更新(包括JS/HTML/CSS/IMAGE等)到CoduPush,然后应用将会查询是否有更新。

RN 版本的已经开源了,可以私有部署

接入流程

安装 CodePush CLI
注册 CodePush账号
在CodePush服务器注册App
RN代码中集成CodePush
原生应用中配置CodePush
发布更新的版本

原理

1、把react中的js打包,生成一个app(react-native官方就支持到这一步)
2、把最新的js包都打包上传到微软的服务器(codepush框架实现)
3、在app中判断本地js包的版本号和微软服务器的版本号,然后全部下载下来后实现更新(codepush框架实现)

codepush.sync(paramas)可以实现更新,一般我们放在app启动的时候进行。或者可以在APP中增加一个按钮,点击就运行更新。就像在开发环境中使用cmd+R一样重新load。但是微软的服务器速度让人呵呵。

一些坑

  • 如上面的博客所说,你APP内plist文件写的版本号可能是1.0.0,所以你的reactjs打包上传的版本也要是1.0.0(而不是1.0.1这样递增),你需要和APP保持一致,然后服务器会根据你最新上传的且和APP一样的版本作为最新版。

常用命令

1、弹窗提示更新

codePush.sync({ updateDialog: true, installMode: codePush.InstallMode.IMMEDIATE });

2、下次启动时更新

codePush.sync();

参考资料

https://www.jianshu.com/p/6a5e00d22723
https://www.cnblogs.com/rayshen/p/5737293.html
http://code-push.cn/docs/1600.htm

 类似资料: