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 * * 302048 * APK Name * https://your-remote-api.com/YourApp.apk * * ``` * * 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} Returns a promise that resolves when something happens */ @Cordova({ callbackOrder: 'reverse' }) checkAppUpdate(updateUrl: string, options?: AppUpdateOptions): Promise { return; } }