kolbasa/cordova-plugin-apkupdater

SUPORT IONIC V3

Closed this issue · 3 comments

THIS PLUGIN HAS SUPPORT FOR IONIC V3, HOW TO USE?

I AM RETURNING = ReferenceError: apkupdater is not defined

SORRY FOR MY ENGLISH

Sorry for the delay.
Ionic V3 supports Cordova, so you can also use this plugin.
However, at the moment I can't tell you exactly how to install plugins specifically in Ionic 3. You should be able to find enough examples in the Ionic documentation.

This weekend I'll have a look at an example Ionic project, then I'll know more about it.

I have tried it now. Here is a complete example. Let me know if it doesn't work.

import {Platform} from '@ionic/angular';
import {Component} from '@angular/core';
import {HttpClient} from '@angular/common/http';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})

export class HomePage {

  endpoint = 'https://raw.githubusercontent.com/kolbasa/cordova-plugin-apkupdater-demo/master/update';

  constructor(private httpClient: HttpClient, public platform: Platform) {
    platform.ready().then(this.downloadAndInstall.bind(this)).catch(console.error);
  }

  async downloadAndInstall() {
    const apkUpdater = (window as any).ApkUpdater;

    const response = await this.httpClient.get<any>(this.endpoint + '/manifest.json').toPromise();

    const remoteVersion = response.version;
    const installedVersion = (await apkUpdater.getInstalledVersion()).version.name;

    if (remoteVersion > installedVersion) {
      await apkUpdater.download(this.endpoint + '/update.zip', {password: 'aDzEsCceP3BPO5jy', onDownloadProgress: console.log});
      await apkUpdater.install();
    }
  }

}

Version 2.2.0 now has its own TypeScript API:

import ApkUpdater from 'cordova-plugin-apkupdater';

export class HomePage {

    // .
    // .
    // .

    async update() {
        await ApkUpdater.download(
            'https://your-update-server.com/update.apk',
            {
                onDownloadProgress: progress => console.log,
            }
        );
        await ApkUpdater.install();
    }

}