Skip to content

A helper plugin to manage Over-The-Air updates when your app is running

License

Notifications You must be signed in to change notification settings

NorthroomZA/expo-ota-manager

 
 

Repository files navigation

expo-ota-manager

Expo OTA manager

A helper plugin to manage Over-The-Air updates when your app is running

This library is designed to help keep your Expo application up to date.

The default initialised value for fallbackToCacheTimeout is 0s, which means that your app will be on an old JS bundle version until the first full app restart.

When you instantiate this library it will check for new app updates every time your app opens from the background. If there are any new updates available, it will download them in the background and then prompt the user to restart their app to use the new version.

Expo OTA manager example

Attention!

Since version 1.1.4 expo-updates is now a peer dependency. This means you must install expo-updates with expo install expo-updates before the package will work.

Usage

yarn add expo-ota-manager
import * as React from "react";
import { Text, View, StyleSheet } from "react-native";
import { initialiseOtaManager } from "expo-ota-manager";

export default function App() {
  React.useEffect(
    () =>
      initialiseOtaManager({
        /*options*/
      }),
    []
  );

  return (
    <View style={styles.container}>
      <Text style={styles.paragraph}>
        Publish a new OTA update and open app from background to get notified
      </Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    backgroundColor: "#ecf0f1",
    padding: 8,
  },
  paragraph: {
    margin: 24,
    fontSize: 18,
    fontWeight: "bold",
    textAlign: "center",
  },
});

Available props

Name Type Default Description
noButtonText string "Not now" No button text
yesButtonText string "Restart" Yes button text
titleText string "A new version is available" Title text
textLines string[] ["An update is ready", "Restart your app to start using it"] The text that will appear in the alert
repromptIntervalMs number hourInMS How often to remind a user to restart for an update
foregroundCheckIntervalMs number 0 (don't run) Time interval for an additional check that runs constantly - if you are concerned about app not going into background

About

A helper plugin to manage Over-The-Air updates when your app is running

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 86.2%
  • JavaScript 9.3%
  • Shell 4.5%