react-native-rn-in-app-update
v1.2.0
Published
A minimal React Native module that displays the native Android in-app update popup using the Play Core library. Supports both immediate and flexible update types.
Maintainers
Readme
react-native-rn-in-app-update
A minimal React Native module that displays the native Android in-app update popup using the Play Core library. Supports both immediate and flexible update types.
Installation
Using npm:
npm install react-native-rn-in-app-updateor using yarn:
yarn add react-native-rn-in-app-updateUsage
Function 1: showUpdatePopup
Import and use the showUpdatePopup function. it supports 2 update type immediate and flexible
import { showUpdatePopup } from 'react-native-rn-in-app-update';
<Button title="Get Update" onPress={() => showUpdatePopup('immediate')} />;Function 2: getUpdateInfo
getUpdateInfo is used to get information about the available update.
const info = await getUpdateInfo();Function 3: startFlexibleUpdateWithProgress
startFlexibleUpdateWithProgress is used to start flexible update while also getting the download percentage.
import { startFlexibleUpdateWithProgress } from 'react-native-rn-in-app-update';
<Button
title="Start Flexible Update"
onPress={() => startFlexibleUpdateWithProgress()}
/>;Function 4: subscribeToUpdateProgress
subscribeToUpdateProgress is used to get the download percentage when updating app with startFlexibleUpdateWithProgress.
import { subscribeToUpdateProgress } from 'react-native-rn-in-app-update';
useEffect(() => {
if (Platform.OS !== 'android') return;
const unsubscribe = subscribeToUpdateProgress(
({ bytesDownloaded, totalBytesToDownload }) => {
if (totalBytesToDownload > 0) {
const percent = (bytesDownloaded / totalBytesToDownload) * 100;
console.log({ percent });
}
}
);
return () => {
unsubscribe();
};
}, []);How to Test In-App Updates on Android
To test this package correctly, you must publish your app to the Play Store (even if only in Internal Testing) — the in-app update API only works when your app is installed via Google Play.
Step 1: Upload a lower-version build (v1)
Create a signed APK/AAB with version:
versionCode 100
versionName "1.0.0"Upload this build to the Play Console → Internal Testing track.
Publish it and wait until it’s available for testers (usually within 15–30 minutes).
Install the app from the Play Store using a tester account.
Step 2: Prepare a higher-version build (v2)
Increment version:
versionCode 101
versionName "1.1.0"DO NOT UPLOAD IT YET.
This is your update version, which the Play Store will later offer as an available update.
Step 3: Open the app (v1) with your test logic
Ensure your app runs this on launch or on button click:
showUpdatePopup('immediate');At this point, no popup will appear, because there's no newer version yet.
Step 4: Upload the higher version (v2)
Now upload the v2 build (with versionCode = 101) to Internal Testing.
Publish and wait until it’s live for testers (can take up to 30–60 minutes).
Step 5: Reopen the app
Reopen the installed v1 app on your test device (it’s still running versionCode = 100).
You should now see the in-app update popup, triggered by:
showUpdatePopup('immediate');Find more details for testing here
react-native-rn-in-app-update is crafted mindfully at Logicwind
We are a 130+ people company developing and designing multiplatform applications using the Lean & Agile methodology. To get more information on the solutions that would suit your needs, feel free to get in touch by email or through or contact form!
We will always answer you with pleasure 😁
License
This project is licensed under the MIT License - see the LICENSE file for details
