android | ||
docs | ||
Example/testHotUpdate | ||
ios | ||
lib | ||
local-cli | ||
react-native-pushy-cli | ||
scripts | ||
.eslintrc | ||
.gitignore | ||
.npmignore | ||
.prettierrc.js | ||
CHANGELOG.md | ||
LICENSE | ||
package.json | ||
react-native-update.podspec | ||
README.md | ||
yarn.lock |
react-native-update
本组件是面向 React Native 提供热更新功能的组件,建议结合Update 服务使用。
注意,在 iOS 上使用热更新有被拒的可能。被拒之后可以按以下步骤单独屏蔽 iOS 端(react-native-update
版本需 >= 5.3.2):
- 如果 RN 版本>=0.60,在项目根目录下编辑或创建 react-native.config.js,添加如下内容
// react-native.config.js
module.exports = {
dependencies: {
'react-native-update': {
platforms: {
ios: null, // 阻止ios模块自动链接
},
},
},
};
- 如果在原生代码端尚未配置,则跳过下面文档中的 ios 端的配置。如果已经配置,则按文档的步骤反向操作(添加的 ios 代码删去)。
- 如果是 0.60 以上版本或使用了 cocoapods,在 ios 目录中再次运行 pod install,确保 Podfile 和 Podfile.lock 中都没有'react-native-update'。如果 RN 版本<0.60,则运行
react-native unlink react-native-update
。 - 在 js 代码里调用 checkUpdate()方法前,判断 Platform.OS,如果是 ios 平台则直接 return 跳过。
最近更新
请查阅最近更新文档。
优势
- 命令行工具&网页双端管理,版本发布过程简单便捷,完全可以集成 CI。
- 基于 bsdiff 算法创建的超小更新包,通常版本迭代后在 1-10KB 之间,避免数百 KB 的流量消耗。
- 支持崩溃回滚,安全可靠。
- meta 信息及开放 API,提供更高扩展性。
- 跨越多个版本进行更新时,只需要下载一个更新包,不需要逐版本依次更新。
安装与快速入门
请查阅
命令行工具
请查阅文档-命令行工具。
API 接口
请查阅文档-API 接口。
本地开发
$ git clone git@github.com:reactnativecn/react-native-pushy.git
$ cd react-native-pushy/Example/testHotUpdate
$ yarn
$ yarn start
本地库文件使用 yarn link 链接,因此可直接在源文件中修改,在 testHotUpdate 项目中调试。
关于我们
本组件由React Native 中文网独家发布,如有定制需求可以联系我们。