# cordova-plugin-nativeapp-updater
This pluging use to update native Android [In app update](https://developer.android.com/guide/playcore/in-app-updates) and iOS For cordova.

### Install latest version from NPM

```bash
  cordova plugin add cordova-plugin-nativeapp-updater
```

### Install latest version from master

```bash
  cordova plugin add https://github.com/sylvinrodz/cordova-plugin-nativeapp-updater
```

## Supports
* Flexible update - User can cancel this update
* Immeidiate update - Force update no option to cancel

## Configs for iOS

* **type** : Provides option to user which strategy to use *IMMEDIATE* or *FLEXIBLE* (_Required_)
* **stallDays** : Provides stalness day configuration for type *IMMEDIATE* and *FLEXIBLE*      (_Required for type IMMEDIATE and FLEXIBLE_)

## Examples

### Flexible update with 5 staleness days for ios
```javascript
cordova.plugins.NativeAppUpdater.update(()=>{
//success callback
},()=>{
//error callback
},{
   IOS: {
       type: "FLEXIBLE",
       stallDays: 5
   }
});
```
### Immediate update with 5 staleness days for ios

```javascript
cordova.plugins.NativeAppUpdater.update(()=>{
//success callback
},()=>{
//error callback
},{
   IOS: {
       type: "IMMEDIATE",
       stallDays: 5
   }
});
```
## Configs for Android

### To check for avilable update
```javascript
var successCallback = function (res) {
   console.log(res);
};
var errorCallback = function (err) {console.log(err);};
cordova.plugins.NativeAppUpdater.getUpdateAndroid(successCallback, errorCallback);
```
### Return values

- **UPDATE_AVAILABLE**
- **UPDATE_NOT_AVAILABLE**
- **DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS**
- **UNKNOWN**

After returning the **UPDATE_AVAILABLE** , you can use following method is *successCallback* to show update popup
### To Immediate update 
```javascript
cordova.plugins.NativeAppUpdater.Immediate();
```

### To Flexible update
```javascript
cordova.plugins.NativeAppUpdater.Flexible();
```
