0.5.6 • Published 6 years ago

react-native-code-update v0.5.6

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

react-native-code-update

##更新请求地址为: {code.update.url}/app/checkUpdate?platform=ios&app_id={yourAppId}&app_version_code={currentAppVersionCode}&js_version_code={currentJSVersionCode}
返回内容:res { success: 1; updateType: 0; } success:标示请求成功,
updateType: 0表示没有更新,
1表示为android平台时检测到新的apk安装包, res.versionName版本名称,res.versionCode:版本好,res.downloadUrl 下载连接,res.changeLog 更新日志
2表示有js包更新,res.jsBundleVersion js版本名称, res.jsBundleVersionCode js版本号,res.downloadUrl,res.changeLog ##ios: info.plist中增加: code.update.app_id(string) yourAppId code.update.url(string) http://xxxxx

		jsCodeLocation = [RCTUpdateManager bundleURL];
		RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation														moduleName:@"XXX"													initialProperties:nil
										launchOptions:launchOptions];

##android 在Application.java

    @Override
    public void onCreate() {
        super.onCreate();
        ...
        ...
        AsyncHttpClient client = new AsyncHttpClient();//http请求用
        RCTUpdateManager.init("{yourAppName(会在存储中创建目录保存更新文件)}","appId","更新url(参考ios配置)",this,client);
    }
    
    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
        ...
        ...
        @Override
        protected List<ReactPackage> getPackages() {
            //mAliPushPackage = new AliPushPackage(); // <------ Initialize the Package
            return Arrays.<ReactPackage>asList(
           new MainReactPackage(),
                    ...
                    new RCTUpdatePackage()
            );
        }
     }

##js

  import ReactNative,{NativeModules} from 'react-native'
  var UpdateManager = NativeModules.UpdateManager;
  UpdateManager.checkUpdate(function (jsonObject) {
            if (jsonObject && jsonObject.updateType) {
                UpdateManager.doUpdate(jsonObject, function (success) {
                    if (success == "true") {
                        // Platform.OS==='android' && jsonObject.updateType == 2 && UpdateManager.askForReload();
                        if(jsonObject.updateType == 2){
                            if(Platform.OS==='android'){
                                UpdateManager.askForReload();
                            }else {
                                Alert.alert(
                                    '提示',
                                    '有数据更新是否刷新?',
                                    [
                                        {text: '刷新', onPress: () => {
                                            UpdateManager.askForReload();
                                        }},
                                        {text: '取消', onPress: () => {}, style: 'cancel'},
                                    ]
                                )
                            }
                        }
                    }else {
                        Alert.alert("提示,下载失败,请稍候再试");
                    }
                });
            }
        });
0.5.6

6 years ago

0.5.5

6 years ago

0.5.4

6 years ago

0.5.3

6 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.9

7 years ago

0.4.8

7 years ago

0.4.7

7 years ago

0.4.6

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago