capacitor-native-updater
v2.0.5
Published
Actualizador de versión nativo para las plataformas android y electron
Downloads
2
Readme
Plugin para actualizar las aplicaciones de android y electron sin necesidad de subirlas a ninguna store oficial.
Requisitos
Android
- Subir a un repositorio las versiones compiladas del programa .apk.
El nombre de los ficheros debe seguir la siguiente nomenclatura:
[Nombre][version].apk
(Ejemplo:ERP2.0.0.apk
)
Electron
- Compilar el proyecto en un paquete (Electron packager recomendado) y comprimir el paquete en un fichero .zip.
El nombre de los ficheros debe seguir la siguiente nomenclatura:
[Nombre][version].apk
(Ejemplo:ERP-win642.0.0.zip
)
Instalación
Android
npm install capacitor-native-updater
npx cap sync android
Electron
npm install capacitor-native-updater
npx cap sync @capacitor-community/electron
Import
Para utilizar el plugin cuando ya ha sido instalado se debe importar en la clase de typescript en la que se quiera usar.
import { DownloadUpdate } from "capacitor-native-updater";
API
startAndroidDownload(...)
Descripción del plugin
- Al iniciar comprueba si tienes los permisos requeridos para que el plugin funcione (Los permisos requeridos son de lectura y escritura en el dispositivo).
- Si no obtiene los permisos se notificará al usuario, se detendrá la ejecución del plugin.
- Si no se encuentra la versión objetivo (Versión de la aplicación actualizada) se detendrá la ejecución del plugin.
- Si se encuentra la versión objetivo se empezará la descarga y actualización de la aplicación.
- Cuando se finalize la descarga se detendrá la ejecución del plugin y se reiniciará la aplicación.
Parámetros
startAndroidDownload({ repository: string; apkName: string; targetVersion: string; }) => Promise<void>
| Parámetro | Tipo | Descripción | | ----------- | ------- | --------------------------------------------------------------------------------------------------- | | repository | String | Url de la página (repositorio) donde se aloja la nueva versión compilada del programa .apk | | apkName | String | Nombre del fichero sin extensión (No debe incluirse la extensión .apk) | | targetVersion | String | Versión objetivo del programa (Versión a la que se quiere actualizar) |
Datos devueltos por el plugin / Returns
El plugin devuelve una promesa vacía para indicar que ha finalizado su ejecución.
- Devolverá vacío cuando se finalize la ejecuón del plugin (Por no tener los permisos necesarios, fallo al buscar la actualización...) o cuando se esté descargando una nueva actualización (Porque se reiniciará la aplicación tras la actualización).
startElectronDownload(...)
Descripción del plugin
- Pregunta si quieres actualizar la aplicación. Cuando empieze la actualización se ejecutará un script (Electron script updater) que se encargará de la actualización y se cerrará la aplicación.
- El programa requiere del script para funcionar. Es necesario que NodeJS esté instalado en el equipo para que el script pueda funcionar.
- El plugin ejecuta el script
electron-script-updater/index.js
, por lo que el script debe ser colocado al mísmo nivel que el ejecutable .exe del programa (Si se usa Electron packager el .exe está en el root del proyecto compilado) y la carpeta que contiene al script se debe llamarelectron-script-updater
- Los parámetros de entrada son:
repo_url
,app_name
ytarget_version
. Todos los parámetros de entrada son strings.
- El plugin ejecuta el script
Parámetros
startElectronDownload({ repository: string; appName: string; targetVersion: string; }) => Promise<void>
| Parámetro | Tipo | Descripción | | ----------- | ------- | ------------------------------------------------------------------------------------------- | | repository | String | Url de la página (repositorio) donde se aloja el fichero del programa comprimido .zip | | appName | String | Nombre del fichero sin extensión (No debe incluirse la extensión .zip) | | targetVersion | String | Versión objetivo del programa (Versión a la que se quiere actualizar) |
Datos devueltos por el plugin / Returns
El plugin devuelve una promesa vacía para indicar que ha finalizado su ejecución.
- Devolverá vacío cuando se finalize la ejecuón del plugin (Porque se reiniciará la aplicación tras la actualización).