Salta al contenuto principale
Aggiornamenti diretti

Mostra l'ultima versione quando gli utenti aprono la tua app

Di default, un live update viene eseguito dopo una sessione dal download. Con le Direct Update, viene applicato all'avvio, dietro la splash screen, così la prima schermata che vedono gli utenti è già la nuova versione.

autoUpdate: atInstall, onLaunch o sempre
Splash screen attivo finché l'update non è pronto
I download delta riducono i tempi di attesa

Il problema

Background updates arrive one session late

Cosa succede con la modalità predefinita

1

L'utente apre l'app

L'app si avvia con il bundle già presente. L'updater ne cerca uno nuovo e lo scarica in background.

2

La sessione utilizza la versione corrente

Per il resto di quella sessione, l'utente utilizzerà il code installato prima del tuo fix.

3

L'update si applica al prossimo resume

Quando l'utente chiude l'app, l'updater installa il nuovo bundle. Lo vedranno alla prossima apertura.

Per la maggior parte dei release, è il compromesso ideale. Se la sessione successiva al tuo upload deve usare il nuovo code, usa la modalità direct update.

Quando la prima sessione è fondamentale

Un flusso di login o pagamento interrotto

Gli utenti che aprono l'app non dovrebbero visualizzare nuovamente la schermata errata prima che il fix venga applicato.

Una patch di sicurezza lato web

Vuoi che il JavaScript patchato sia attivo fin dal lancio, non dalla sessione successiva.

Una modifica datata

Termini, avvisi o contenuti di eventi che devono essere attuali nella prima schermata che l'utente vede.

La soluzione

Cosa cambia con la modalità direct update

L'updater controlla al lancio mentre la splash screen resta visibile. Se è disponibile un nuovo bundle, lo scarica e lo applica prima che la splash screen scompaia.

Modalità predefinita (atBackground)

1
L'utente apre l'app
2
L'app mostra la versione attuale
3
L'update viene scaricato in background
4
L'update si applica al prossimo resume

Nessuna attesa all'avvio. Gli utenti vedono l'aggiornamento alla sessione successiva.

Modalità diretta (onLaunch)

1
L'utente apre l'app e la splash screen resta visibile
2
L'updater controlla e scarica i file modificati
3
L'aggiornamento viene applicato, la splash scompare e appare la nuova versione

Gli utenti vedono la nuova versione fin dalla prima schermata. Aspettano sulla splash screen durante il download.

Docs sul comportamento degli update

Come funziona

Come configurare gli aggiornamenti diretti

La modalità diretta è configurazione nativa, quindi arriva prima con un build pubblicato sugli store. Dopo, ogni live update la segue. I comandi sono presi dalla documentazione di Capgo.

  1. Aggiungi il plugin splash screen e scegli una modalità

    Installa @capacitor/splash-screen, poi imposta autoUpdate, autoSplashscreen e launchAutoHide in capacitor.config.ts.

    npm install @capacitor/splash-screen
    npx cap sync
    
    // capacitor.config.ts
    plugins: {
      CapacitorUpdater: {
        autoUpdate: 'onLaunch', // or 'atInstall' / 'always'
        autoSplashscreen: true,
        keepUrlPathAfterReload: true,
      },
      SplashScreen: { launchAutoHide: false },
    }
    Gestione splash screen
  2. Includi la config in un build dello store

    capacitor.config viene compilata nell'app nativa, così il nuovo modo raggiunge gli utenti con il prossimo rilascio. Capgo Build può generarla nel cloud.

    npx @capgo/cli@latest build request --platform ios
    npx @capgo/cli@latest build request --platform android
    Docs su Capgo Build
  3. Fai l'upload dei bundle come delta

    Gli utenti attendono il download all'avvio, quindi invia solo i file modificati. CLI rileva le modalità di applicazione istantanea e suggerisce l'upload di un delta.

    npx @capgo/cli@latest bundle upload --channel production --delta
    Documentazione delta updates
  4. Mantieni attivo il rollback automatico

    Chiama notifyAppReady() una volta avviata l'app. Se un nuovo bundle non parte, il dispositivo torna all'ultimo funzionante.

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    await CapacitorUpdater.notifyAppReady()
    Docs di notifyAppReady()

Scegli la modalità adatta alla tua app

Le direct updates sono un compromesso: una breve attesa all'avvio in cambio della nuova versione già alla prima schermata.

Tre modalità di applicazione istantanea

Imposta autoUpdate in capacitor.config.ts. Ogni modalità decide quando un update può essere applicato mentre l'utente attende.

  • atInstall: solo subito dopo una nuova installazione o un aggiornamento store dell'app nativa
  • onLaunch: quando l'app si avvia dopo essere stata terminata (cold start)
  • sempre: a ogni controllo in foreground, anche con l'app aperta
Impostazioni updater

3

Modalità di applicazione immediata in autoUpdate

Gestione splash screen

Le modalità dirette richiedono @capacitor/splash-screen con launchAutoHide impostato su false e autoSplashscreen su true. L'updater nasconde lo splash screen una volta applicato l'update o quando rileva che non serve alcun aggiornamento.

  • Nessuna chiamata manuale a SplashScreen.hide() necessaria
  • keepUrlPathAfterReload mantiene l'utente sulla stessa rotta dopo il reload
  • Ascolta appReady se devi eseguire operazioni extra dopo la chiusura dello splash
Gestione splash screen

autoSplashscreen

Obbligatorio per ogni modalità diretta

Trade-off da pianificare

Gli utenti aspettano il download all'avvio, ma con un aggiornamento costante possono ricaricare l'app mentre la usano. Prevedi entrambi i casi.

  • Fai l'upload con --delta per scaricare solo i file modificati
  • Salva e ripristina lo stato dell'app per non perdere i progressi dell'utente durante il reload
  • Mantieni la modalità predefinita se un ritardo di una sessione è accettabile
Documentazione delta updates

--delta

Consigliato per ogni upload di direct update

Quando usare i direct updates

Usa la modalità direct quando la sessione corrente deve eseguire il nuovo code. Usa la modalità predefinita per tutto il resto.

Bug fix critici

Bug relativi a pagamenti, login o dati, dove usare il vecchio code per un'altra sessione è inaccettabile.

Onboarding al primo avvio

atInstall applica l'ultimo bundle subito dopo l'installazione o l'aggiornamento dallo store, così i nuovi utenti iniziano con il tuo onboarding attuale.

Contenuti datati

Pagine eventi, avvisi o termini che devono essere aggiornati non appena l'utente apre l'app.

Patch di sicurezza

Correzioni di sicurezza a livello web eseguibili fin dall'avvio. Le correzioni nel code nativo richiedono ancora un rilascio sugli store.

Rilasci di routine

Piccoli tweak di stile o nuove feature raramente giustificano l'attesa al lancio. La modalità default li applica alla sessione successiva.

App con sessioni lunghe

Con always, i controlli periodici (ogni 10 minuti di default) possono applicare un update mentre l'app è aperta. Salva lo stato prima di affidarti a questa funzione.

Ridurre l'attesa al lancio

L'attesa al lancio è data dal controllo dell'update più il download. I delta update limitano il download solo ai file modificati.

~50ms

Latenza tipica di API

Delta

Vengono scaricati solo i file modificati

1 miliardo+

Update consegnati al mese

App buildate con Capacitor

Le app di informazione pubblica richiedono fix urgenti

Le app per emergenze, sanità e servizi civici non possono aspettare giorni per correggere una checklist non funzionante, un link a una risorsa o un avviso specifico per località. I direct updates permettono al web layer di aggiornarsi non appena il fix è approvato.

Icona app FEMA METEO

FEMA

Indicazioni di emergenza in cui piccoli errori nei contenuti possono diventare urgenti.

Installazioni Google Play
1,6M
Valutazione store
4.0
Icona dell'app Conecte SUS MEDICINA

Connetti SUS

Cartelle cliniche e app di guida che richiedono una distribuzione rapida delle modifiche al codice approvate.

Installazioni Google Play
27,7M
Valutazione store
4.6
icona app e-Título SOCIAL

e-Título

Workflow di identità digitale dove la gestione sicura delle versioni è fondamentale su ogni dispositivo.

Installazioni Google Play
54,9M
Valutazione store
4.8

Cosa dicono i clienti

Cosa dicono i team che rilasciano con Capgo

5.0/5 valutato dai team di sviluppatori 9,400+ team Leggi le recensioni

Kapil

Fondatore, NuTriQ

“Poter rilasciare aggiornamenti OTA in produzione all'istante, senza attendere i cicli completi di revisione dell'App Store, è stato un enorme vantaggio operativo.”

Ritratto di Sergiu S

Sergiu S

Lead Developer, drivolino GmbH

“Il plugin Capgo Capacitor Updater ha rivoluzionato il nostro modo di rilasciare gli aggiornamenti. Quello che prima richiedeva giorni, ora si fa in pochi minuti.”

Ritratto di Luis Dominguez

Luis Dominguez

Chi paga, Anirol

“Da quando uso Capgo tutto è più veloce, e posso dare ai miei utenti il tempo che meritano senza trascurare la mia vita quotidiana.”

FAQ

Domande sui direct updates

Quando usarli, come configurarli e i costi al lancio.

Dovremmo usare i direct updates o la modalità background predefinita?

Usa la modalità predefinita per la maggior parte dei rilasci: non c'è attesa al lancio e gli utenti ricevono l'update alla sessione successiva. Usa la modalità direct quando la sessione che parte dopo il tuo upload deve eseguire il nuovo code, ad esempio per un checkout rotto o una fix di sicurezza nel web-layer.

Docs sul comportamento degli update

Qual è la differenza tra atInstall, onLaunch e always?

atInstall applica l'update immediatamente solo dopo una nuova installazione o un update dello store dell'app nativa, poi si comporta come il default. onLaunch applica l'update quando l'app parte da uno stato chiuso. always controlla ad ogni passaggio in foreground e lo applica non appena finisce il download, anche mentre l'utente è nell'app.

Impostazioni updater

Perché è richiesto il plugin splash screen?

Le modalità direct applicano l'update mentre l'utente aspetta. Senza @capacitor/splash-screen, autoSplashscreen: true e launchAutoHide: false, gli utenti potrebbero vedere un flicker o la vecchia UI prima del reload. Con questi, lo splash screen resta visibile finché l'update non è applicato o finché l'updater non conferma che non è necessario.

Gestione splash screen

Possiamo attivare i direct updates con un live update?

No. autoUpdate si trova in capacitor.config, che viene letto nell'app nativa al momento del build. Includi la nuova impostazione nel prossimo rilascio sugli store. Da quel momento, ogni live update seguirà la nuova modalità.

Docs sulla compatibilità nativa

La nostra config usa directUpdate. È ancora supportata?

directUpdate è deprecato ma viene ancora rilevato. I suoi valori corrispondono alle modalità autoUpdate atInstall, onLaunch e always. Sposta l'impostazione su autoUpdate nel tuo prossimo rilascio nativo.

Impostazioni updater

Applica la tua prossima fix subito

Prova una modalità di direct update su un build di test durante la trial e misura i tempi di attesa all'avvio della tua app.

Prova gratuita di 14 giorni. Nessuna carta richiesta.