Actualización híbrida
Al enviar actualizaciones a tu usuario, tienes varias formas de manejar el ciclo de actualización según consideres conveniente antes de aplicarlas:
- Actualización silenciosa
- Escuchar el evento
updateAvailable
- Mostrar una ventana modal o retrasar actualizaciones
Actualización silenciosa
Puedes forzar que ocurra un ciclo de actualización en cada inicio de la aplicación configurando directUpdate
como true
,
esto activará el ciclo de actualización como de costumbre sin la interacción del usuario
// capacitorconfigjson{ "appId": "*******", "appName": "Name", "plugins": { "CapacitorUpdater": { "directUpdate": true, }, "SplashScreen": { "launchAutoHide": false, } }}
Y luego en tu aplicación, debes ocultar la pantalla de inicio cuando recibas el evento appReady
:
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdateraddListener('appReady', () => { // Hide splash SplashScreenhide()})
CapacitorUpdaternotifyAppReady()
Forzar actualización
Agrega un listener al evento updateAvailable
y luego muestra una alerta para informar al usuario que la aplicación se actualizará:
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { Dialog } from '@capacitor/dialog'
CapacitorUpdateraddListener('updateAvailable', async (res) => { try { await Dialogalert({ title: 'Actualización Disponible', message: `La versión ${resbundleversion} está disponible. La aplicación se actualizará ahora`, }) CapacitorUpdaterset(resbundle) } catch (error) { consolelog(error) }})
CapacitorUpdaternotifyAppReady()
Actualización modal
También puedes dejar que el usuario decida mostrando un diálogo para preguntarles si desean actualizar:
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { Dialog } from '@capacitor/dialog'
CapacitorUpdateraddListener('updateAvailable', async (res) => { try { const { value } = await Dialogconfirm({ title: 'Actualización Disponible', message: `La versión ${resbundleversion} está disponible. ¿Te gustaría actualizar ahora?`, })
if (value) CapacitorUpdaterset(resbundle)
} catch (error) { consolelog(error) }})
CapacitorUpdaternotifyAppReady()