首页 » React Native » React Native技术文章 » 正文

React Native App版本升级方案解析

本文授权于文章:http://blog.csdn.net/u013718120/article/details/77189649

源码已开源到Github,地址请点击:react-native-upgrade  欢迎大家star,fork.....

刚创建的React Native交流11群:112490774,欢迎各位大牛,React Native技术爱好者加入交流!同时博客右侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送!

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,供大家参考使用。

一.功能介绍

项目地址:https://github.com/songxiaoliang/react-native-app-upgrade

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拷贝到项目目录即可。

三.使用

3.1.Android平台

Http.get(Api.api_checkupdate, null, false, (result)=>{
    if(result.ok) {
        // 下载最新Apk
        NativeModules.upgrademodule.upgrade(this.state.apkUrl);
    }
});

3.2.iOS平台

NativeModules.upgrade.upgrade('1253360366',(msg) =>{
    if('YES' == msg) {
       //跳转到APP Stroe
       NativeModules.upgrade.openAPPStore('1253360366');
    } else {
        Toast.show('当前为最新版本');
    }
})

关注我的订阅号(codedev123),每天推送分享移动开发技术(Android/iOS),React Native技术文章,项目管理,程序猿日常点滴以及精品技术资讯文章(欢迎关注,精彩第一时间推送)。