源码已开源到Github,地址请点击:react-native-upgrade欢迎大家star,fork.....
App版本升级想必大家都不陌生。原生开发中App升级方式有很多种,Android和iOS也不尽相同。大致区别如下:
(1)iOS中由于不能从App Store之外下载ipa文件进行安装,所以在iOS环境下唯一的更新方式就是提醒用户,然后跳转到App Store商店下对应App进行更新。多数情况下,iPhone在Wifi网络下都会自动静默完成版本更新。
(2)Android的方式则大有不同,Apk由于不受App市场及手机限制,可以随意安装Apk文件,所以大部分情况下都会避开市场下载,直接从自己服务器下拉最新Apk进行更新,所以也就出现了首页发现新版本、版本检测等一些功能。关于Android的版本更新,可以看我之前的一篇博客:Android实现App版本自动更新
React Native实现版本更新,需要依赖原生开发环境的支持。例如Android中需要做下载提示,进度提示,下载完成后的跳转安装。iOS需要与App Store中的版本做比较,以及跳转到App Store更新。为了简便,遂将其封装成library,供大家参考使用。
一、功能介绍
Android:
(1)版本检测
(2)版本下载
(3)进度提示
(4)下载安装
iOS:
(1)版本检测
(2)跳转App Store
二、配置
【Android平台 】
1. 将upgrade包拷贝到你的Android项目包目录下。
2. 在AndroidMainfest.xml文件下添加权限和服务配置
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
【 iOS平台 】
将upgrade拷贝到项目目录即可。
三、使用
【Android平台 】
Http.get(Api.api_checkupdate,null,false,(result)=>{ if(result.ok) { // 下载最新Apk NativeModules.upgrademodule.upgrade(this.state.apkUrl); } });
【 iOS
平台 】
NativeModules.upgrade.upgrade('1253360366',(msg) =>{ if('YES' == msg) { //跳转到APP Stroe NativeModules.upgrade.openAPPStore('1253360366'); } else { Toast.show('当前为最新版本'); } })