mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-14 04:05:23 +08:00
65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
|
|
|
export interface AppUpdateOptions {
|
|
authType: string;
|
|
username?: string;
|
|
password?: string;
|
|
}
|
|
|
|
/**
|
|
* @name App Update
|
|
* @description
|
|
* This plugin does self-update for android
|
|
*
|
|
* @usage
|
|
*
|
|
* You should first host an XML file on your server with the following data in it:
|
|
* ```xml
|
|
* <update>
|
|
* <version>302048</version>
|
|
* <name>APK Name</name>
|
|
* <url>https://your-remote-api.com/YourApp.apk</url>
|
|
* </update>
|
|
* ```
|
|
*
|
|
* Then use the following code:
|
|
*
|
|
* ```typescript
|
|
* import { AppUpdate } from '@ionic-native/app-update';
|
|
*
|
|
* constructor(private appUpdate: AppUpdate) {
|
|
*
|
|
* const updateUrl = 'https://your-remote-api.com/update.xml';
|
|
* this.appUpdate.checkAppUpdate(updateUrl).then(() => { console.log('Update available') });
|
|
*
|
|
* }
|
|
* ```
|
|
*
|
|
* The plugin will compare the app version and update it automatically if the API has a newer version to install.
|
|
* @interfaces
|
|
* AppUpdateOptions
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'AppUpdate',
|
|
plugin: 'cordova-plugin-app-update',
|
|
pluginRef: 'AppUpdate',
|
|
repo: 'https://github.com/vaenow/cordova-plugin-app-update',
|
|
platforms: ['Android']
|
|
})
|
|
@Injectable()
|
|
export class AppUpdate extends IonicNativePlugin {
|
|
/**
|
|
* Check and update
|
|
* @param {string} updateUrl update api url
|
|
* @param {AppUpdateOptions} [options] options
|
|
* @return {Promise<any>} Returns a promise that resolves when something happens
|
|
*/
|
|
@Cordova({
|
|
callbackOrder: 'reverse'
|
|
})
|
|
checkAppUpdate(updateUrl: string, options?: AppUpdateOptions): Promise<any> {
|
|
return;
|
|
}
|
|
}
|