react-native-rn-in-app-update
Version:
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.
35 lines (33 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.showUpdatePopup = void 0;
var _reactNative = require("react-native");
const LINKING_ERROR = `The package 'react-native-rn-in-app-update' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
ios: "- You have run 'pod install'\n",
default: ''
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
const RnInAppUpdate = _reactNative.NativeModules.RnInAppUpdate ? _reactNative.NativeModules.RnInAppUpdate : new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
/**
* Shows the native Android in-app update popup using the Play Core API.
*
* @param type - (Optional) The update type to use:
* - `'immediate'` (default): Forces the user to update immediately before continuing.
* - `'flexible'`: Allows the user to continue using the app while the update is downloaded in the background.
*
* @returns A Promise that resolves when the update flow is started, or rejects if not available or fails.
*/
const showUpdatePopup = (type = 'immediate') => {
if (_reactNative.Platform.OS === 'android') {
const updateType = type === 'immediate' ? 0 : 1;
return RnInAppUpdate.showUpdatePopup(updateType);
}
return Promise.resolve();
};
exports.showUpdatePopup = showUpdatePopup;
//# sourceMappingURL=index.js.map