Skip to content

douugdev/react-native-apk-update

Repository files navigation

react-native-apk-update

A JS/TS Library to download and install a new apk version of mobile apps. Wrapper of react-native-apk-installer-n with support to legacy android versions. Design to update existing applications e.g.: if you have app A and needs to update it from inside itself, you should create a update Alert that will use this lib to download and install the respective apk from your http server/api.

Installation

npm install @douugbr/react-native-apk-update

# For older RN versions
react-native link @douugbr/react-native-apk-update

These are also needed as peer dependencies:

npm install react-native-device-info
npm install react-native-fs

Basic Usage

import { installRemoteApk } from 'react-native-apk-update';
import { useState } from 'react';

// ...

const [downloadProgress, setDownloadProgress] = useState < number > 0;
installRemoteApk(
  'https://example.com/example.apk',
  'myapk.apk',
  (downloadInfo) => {
    setDownloadProgress(downloadInfo.bytesWritten / downloadInfo.contentLength);
  }
);

Docs

async installApk(filePath: string)

filePath: The local uri where your apk is located.

async installRemoteApk(remoteUrl: string, filename: string, callback?: (downloadInfo: RNFS.DownloadProgressCallbackResult) => void, absoluteFilePath?: string)

remoteUrl: The url in which your apk is served. filename: The filename which will be saved in your documents folder. callback: A callback that will track the apk download progress (not the install one). Example above. absoluteFilePath: A filepath to save the file, if not specified the file will be saved on documents folder.

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Special Thanks

License

MIT