Simple Package In App Updates For React Native supports on both Android and IOS.
rg-react-native-in-app-updates is a package/module created to support your app to update itself. whereas on ios devices the app only shows a prompt to update the app.
npm i rg-react-native-in-app-updates
On iOS you may need to also add the following lines in your Info.plist to be able to launch the store deep link.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>itms-apps</string>
</array>
if error appear :
Error: @react-native-community/react-native-device-info: NativeModule.RNDeviceInfo is null.
You can install manually package react-native-device-info if you don't define a bundle Identifier and local version of the application. to install it run the following command.
Using npm:
npm install --save react-native-device-info
or using yarn:
yarn add react-native-device-info
then
cd ios && pod install && cd ..
value | type | description |
---|---|---|
localVersion | String (Required if not uses react-native-device-info) | version currently running on the device |
bundleIdentifier | String (Required if not uses react-native-device-info)(IOS Only) | bundle identifier on Xcode |
title | String(Optional) | The title of the alert prompt when there's a new version. (default: Update Available ) |
forceUpgrade | boolean (optional) | If set to true the user won't be able to cancel the upgrade (default: false ) |
message | String(Optional) | The content of the alert prompt when there's a new version (default: There is an updated version available on the App Store. Would you like to update? ) |
buttonUpdateText | String(Optional) | The text of the confirmation button on the alert prompt (default: Update ) |
buttonCancelText | String(Optional) | The text of the cancelation button on the alert prompt (default: Cancel ) |
import RgInAppUpdates from 'rg-react-native-in-app-updates';
const versionRules = {
localVersion: '1.0.0', //(optional) prefer not uses react-native-device-info
bundleIdentifier: 'com.package', //(optional) prefer not uses react-native-device-info
forceUpgrade: false,
title: 'Update Tersedia',
message:
'Ada versi terbaru yang tersedia di App Store. Apakah Anda ingin Update?',
buttonUpgradeText: 'Update',
};
//call in componentDidMount() or useeffect()
RgInAppUpdates(versionRules);
or
RgInAppUpdates({});