Implementación en ionic
Closed this issue · 3 comments
mtenorio-cmp commented
¿Cómo se implementa en ionic 4 o 5 ? algún ejemplo (ES-PE)
kolbasa commented
Ionic 4-5 soporta Cordova, por lo que también puedes utilizar este plugin.
Sin embargo, por el momento no puedo decirte exactamente cómo instalar plugins específicamente en Ionic 4-5. Deberías poder encontrar suficientes ejemplos en la documentación oficial de Ionic.
Este fin de semana echaré un vistazo a un proyecto de ejemplo de Ionic y lo añadiré a mi documentación.
kolbasa commented
Lo he probado ahora. Aquí hay un ejemplo completo. Hágame saber si no funciona.
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();
}
}
}
kolbasa commented
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();
}
}