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
Section titled â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()})
CapacitorUpdater.notifyAppReady()Forza aggiornamento
Section titled â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) }})
CapacitorUpdater.notifyAppReady()Aggiornamento modale
Section titled â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) }})
CapacitorUpdater.notifyAppReady()