- 可以选择使用该插件自带的样式组件(支持Android和iOS)
- Android点击
立即升级
后,开始下载过程
- iOS点击
立即升级
后,跳转App Store
yarn
yarn add @iwubida/react-native-update-version
npm install
npm install @iwubida/react-native-update-version --save
自动配置(推荐)
react-native link react-native-version-number
react-native link @iwubida/react-native-update-version
import UpdateVersion from '@iwubida/react-native-update-version';
const Demo = ({appleId, version, versionCode, promote, clientUrl, updateInfo}) => (
<UpdateVersion
appleId={appleId}
version={version}
versionCode={versionCode}
promote={promote}
clientUrl={clientUrl}
updateInfo={updateInfo}
/>
);
参数支持说明
Name | Type | Default | Description |
---|---|---|---|
version | string | 1 | 最新的内部版本号 |
versionCode | string | 'v1.0.0' | 最新的外部版本号 |
updateInfo | string | '' | 升级内容信息 '1、支持第三方平台业务|2、展示第三方平台订单取单编码' |
promote | number | 0 | 更新方式(1升级,0不升级,2强制升级) |
clientUrl | string | '' | 安卓下载地址 |
appleId | string | '' | 必填 appleId |
import { NativeModules } from 'react-native';
const { RNUpdateVersionModule } = NativeModules;
iOS
// Go to appStore
RNUpdateVersionModule.update(`${appleId}`);
Android
// Download apk
RNUpdateVersionModule.update(`${apkUrl}`);
// Download Progress
DeviceEventEmitter.addListener('DownloadApkProgress', arg => {
if (arg.error) {
console.log('下载失败');
} else if (arg.done) {
console.log('升级成功');
} else {
const {percent} = arg;
console.log(`${percent}%`);
}
})
componentWillUnmount() {
// RemoveListener
DeviceEventEmitter.removeListener('DownloadApkProgress');
}