rn-splatform-hot-update
v0.0.1
Published
Clone hot update for react native
Readme
setUp
yarn add react-native-ota-hot-update && react-native-blob-utilIOS
Open AppDelegate.m and add this:
#import "RNhotupdate.h"
...
{
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
#else
return [RNhotupdate getBundle]; ## add this line
#endif
}Android
Open MainApplication.java and add these codes bellow:
import com.rnhotupdate.OtaHotUpdate;
...
@Override
public String getJSBundleFile() {
return OtaHotUpdate.getBundleJS();
}1.Add these script into your package.json to export bundlejs file:
"scripts": {
"export-android": "mkdir -p android/output && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/output/index.android.bundle --assets-dest android/output && cd android && find output -type f | zip index.android.bundle.zip -@ && cd .. && rm -rf android/output",
"export-ios": "mkdir -p ios/output && react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/output/main.jsbundle --assets-dest ios/output && cd ios && find output -type f | zip main.jsbundle.zip -@ && cd .. && rm -rf ios/output"
}These commands are export bundle file and compress it as a zip file, one for android and one for ios. You can create your own script that export and auto upload to your server.
Then create an json file: update.json like that:
{
"version": 1,
"downloadAndroidUrl": "",
"downloadIosUrl": ""
}