@appspacer/react-native
v1.0.0
Published
Professional-grade Over-The-Air (OTA) update SDK for React Native. Push JavaScript bundle updates directly to users with built-in rollback protection, asset management, and premium UI themes.
Downloads
142
Maintainers
Readme
@appspacer/react-native
Production-grade OTA update SDK for React Native — push JavaScript bundle updates directly to users' devices with reliability and safety.
Installation
npm install @appspacer/react-native
cd ios && pod install2. iOS — Update AppDelegate
#import <AppSpacerModule.h>
- (NSURL *)bundleURL {
return [AppSpacerModule bundleURL];
}3. Android — Update MainApplication
import com.appspacer.AppSpacerModule;
import com.appspacer.AppSpacerPackage;
// In getPackages():
packages.add(new AppSpacerPackage());
// In getJSBundleFile():
String customBundle = AppSpacerModule.getCustomBundlePath(this);
if (customBundle != null) return customBundle;
return super.getJSBundleFile();Usage
Simple (CodePush-style HOC)
The easiest way to use AppSpacer is to wrap your root component with the withAppSpacer Higher-Order Component. This automatically checks for updates on app start and resume, and seamlessly shows a native "Update Available" popup if you enable updateDialog.
import { withAppSpacer } from '@appspacer/react-native';
function App() {
return <MainApp />;
}
export default withAppSpacer({
deploymentKey: 'sk_YOUR_DEPLOYMENT_KEY',
appVersion: '1.0.0',
updateDialog: true, // Shows a native alert to the user when an update is found
})(App);With UI control
import { useAppSpacerUpdate, UpdateStatus, InstallMode } from '@appspacer/react-native';
import { Button, Text, View } from 'react-native';
function App() {
const { status, update, sync, restartApp } = useAppSpacerUpdate();
useEffect(() => {
sync({ installMode: InstallMode.ON_NEXT_RESTART });
}, []);
return (
<View>
{status === UpdateStatus.INSTALLED && (
<Button title="Restart to apply update" onPress={restartApp} />
)}
{status === UpdateStatus.UPDATE_AVAILABLE && update && (
<Text>Update available: {update.description}</Text>
)}
<MainApp />
</View>
);
}API
| Method | Description |
|---|---|
| withAppSpacer(config) | HOC to initialize and auto-sync SDK |
| AppSpacer.checkForUpdate() | Check server for updates |
| AppSpacer.downloadUpdate() | Download and verify pending update |
| AppSpacer.restartApp() | Reload app with new bundle |
| AppSpacer.sync(opts?) | Check + download + install lifecycle |
| AppSpacer.notifyAppReady() | Mark update as successful (rollback protection) |
| useAppSpacerUpdate() | React hook for management |
For the full API reference, configuration options, and advanced usage see the AppSpacer Documentation.
Safety Features
- SHA256 Verification: Every package is verified before extraction.
- Rollback Protection: If an update crashes during boot, the SDK automatically rolls back to the previous stable version.
- Install Reporting: Adoption tracking and successful install analytics are automatically reported to your AppSpacer dashboard.
License
MIT — see LICENSE
