Aggiornamento ibrido
Quando si inviano aggiornamenti agli utenti, ci sono diversi modi per gestire il ciclo di aggiornamento come meglio si crede prima di applicarli
- Aggiornamento silenzioso
- Ascolto dell’evento
updateAvailable
- Mostrare una finestra modale o ritardare gli aggiornamenti
Aggiornamento silenzioso
Puoi forzare un ciclo di aggiornamento ad ogni avvio dell’app impostando directUpdate
su true
,
questo attiverà il ciclo di aggiornamento come al solito senza l’interazione dell’utente
// capacitorconfigjson{ "appId": "*******", "appName": "Name", "plugins": { "CapacitorUpdater": { "directUpdate": true, }, "SplashScreen": { "launchAutoHide": false, } }}
E poi nella tua app, dovresti nascondere la schermata iniziale quando ricevi l’evento appReady
:
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdateraddListener('appReady', () => { // Hide splash SplashScreenhide()})
CapacitorUpdaternotifyAppReady()
Forza aggiornamento
Aggiungi un listener all’evento updateAvailable
e poi mostra un avviso per far sapere all’utente che l’app si aggiornerà:
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { Dialog } from '@capacitor/dialog'
CapacitorUpdateraddListener('updateAvailable', async (res) => { try { await Dialogalert({ title: 'Aggiornamento Disponibile', message: `La versione ${resbundleversion} è disponibile. L'app si aggiornerà ora`, }) CapacitorUpdaterset(resbundle) } catch (error) { consolelog(error) }})
CapacitorUpdaternotifyAppReady()
Aggiornamento modale
Puoi anche lasciare decidere all’utente mostrando una finestra di dialogo per chiedere se vogliono aggiornare:
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { Dialog } from '@capacitor/dialog'
CapacitorUpdateraddListener('updateAvailable', async (res) => { try { const { value } = await Dialogconfirm({ title: 'Aggiornamento Disponibile', message: `La versione ${resbundleversion} è disponibile. Vuoi aggiornare ora?`, })
if (value) CapacitorUpdaterset(resbundle)
} catch (error) { consolelog(error) }})
CapacitorUpdaternotifyAppReady()