Salta al contenuto principale
Tutorial

Come rendere gli update di Capgo snelli e veloci

Una guida pratica Capgo per update più piccoli e sicuri: delta bundle, rollout basato su channel, refresh del native baseline, PR preview e guardrail per gli update.

Come mantenere gli update di Capgo snelli e veloci

Il miglior live update è quello che gli utenti quasi non notano.

Di solito, questo significa tre cose:

  1. Il download è leggero.
  2. Il rollout è controllato.
  3. Il ripristino è istantaneo in caso di errori.

Il consiglio di "mantenere le OTA leggere" che vale per React Native si applica anche a Capgo. La differenza è che Capgo offre ai team Capacitor alcuni vantaggi extra: Aggiornamenti delta, canali, rollback automatici, targeting delle versioni, e opzionali la crittografia end-to-end.

Se li usi insieme, otterrai payload più piccoli, installazioni più veloci e molta meno confusione operativa.

L'efficienza conta anche se gli MAU restano invariati

Un dettaglio utile specifico per Capgo: Capgo MAU è essenzialmente il numero di dispositivi attivi mensili che hanno contattato il servizio di update negli ultimi 30 giorni.

Quindi, snellire un bundle non è solo un trucco per ridurre il conteggio degli MAU. È importante perché migliora ciò che utenti e team percepiscono concretamente:

  • Download più veloci su rete cellulare o Wi-Fi debole
  • Esperienza migliore con gli update diretti
  • Meno banda sprecata per release fallite o rollback
  • Blast radius ridotto in fase di test o staging

Gli update lean riguardano velocità, sicurezza e disciplina operativa.

1. Usa gli update Delta di default

Se devi fare una sola cosa, fai questa.

Capgo Aggiornamenti delta invia solo i file modificati tra le versioni invece di scaricare l'intero web bundle. È il vantaggio principale per le performance OTA.

bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta

Quando il QA è terminato:

bunx @capgo/cli@latest bundle upload --channel production --delta

Se vuoi mantenere la CI rigorosa, usa --delta-only così nessuno tornerà accidentalmente agli upload del bundle completo:

bunx @capgo/cli@latest bundle upload --channel production --delta-only

Usa solo --delta-only quando il tuo parco dispositivi supporta i Delta update. Su versioni di plugin miste, i dispositivi più vecchi che non supportano la consegna delta basata su manifest non potranno scaricare quell'update.

Questo è ancora più importante se usi directUpdate, perché il tempo tra “update trovato” e “app ricaricata” diventa visibile all'utente.

2. Tratta gli asset come asset, non come baggage di JavaScript

Large assets are where OTA bundles quietly get bloated.

Alcune regole pratiche:

  • Non includere immagini o media pesanti direttamente nel JavaScript se un normale file asset è sufficiente.
  • Mantieni i contenuti che cambiano spesso sul tuo CDN o su API se non devono risiedere nel bundle dell'app distribuita.
  • Fai attenzione alle immagini di marketing, ai video di onboarding e agli asset per campagne singole che vengono sostituiti a ogni release.
  • Mantieni gli asset stabili. Con gli aggiornamenti Delta, i file invariati vengono riutilizzati invece di essere scaricati di nuovo.

È uno dei modi più semplici per mantenere Capgo veloce mentre la tua app cresce. Il pattern peggiore è una piccola correzione UI che costringe gli utenti a scaricare un sacco di media non correlati.

3. Usa i release nativi per modifiche native reali

Capgo aggiorna il web layer: HTML, CSS, JavaScript e gli asset caricati a runtime.

Non è il canale adatto per:

  • nuovi plugin nativi,
  • cambiamenti di permessi,
  • capacitor.config.ts modifiche,
  • qualsiasi cosa modifichi lo stato del progetto nativo iOS o Android.

Questo confine è fondamentale anche per le performance. Se continui a inserire grandi cambiamenti strutturali nel canale OTA, la tua strategia di aggiornamento diventerà sempre più pesante e rischiosa.

Usa intenzionalmente due canali di rilascio:

Canale Native

Per modifiche ai plugin, ai permessi e alla configurazione nativa:

bun run build
bunx cap sync

Poi pubblica una release standard sugli store.

lane di Capgo

Per iterazioni sicure sul web layer:

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

Aggiorna regolarmente anche la tua baseline nativa se hai aggiunto molti asset a lungo termine. Una nuova build per gli store include la nuova baseline, riducendo i futuri diff di Capgo.

4. Usa i channel per limitare la dimensione del rollout

Un aggiornamento "lean" non riguarda solo i megabyte. Riguarda anche quanti dispositivi ricevono l'aggiornamento prima che tu possa confermare che sia corretto.

di Capgo il sistema dei channel è il modo più pulito per gestirlo:

  • staging per QA
  • beta per tester invitati
  • production per tutti
  • hotfix per il recovery d'emergenza

Un flusso semplice è questo:

  1. Upload su staging.
  2. Valida sui dispositivi reali.
  3. Distribuisci gradualmente, tramite canali controllati o rollout basato su percentuali.
  4. Rollback immediato se le performance calano.

Se la tua app ha più baseline native attive, associa i canali al targeting della versione. Così eviti bundle pesanti o incompatibili con i binari più vecchi.

Per i team che cercano review loop ancora più rapidi, Capgo funziona bene anche per le PR preview. Questo permette a product, QA e stakeholder di testare modifiche JS-only senza attendere nuovi build di TestFlight o Play internal.

5. Se abiliti gli update diretti, ottimizza l'avvio con cura

Più velocemente vuoi applicare un update, più disciplinato deve essere il tuo percorso di startup.

Di Capgo il comportamento degli update docs explicitly recommend pairing directUpdate agli update Delta. È la scelta predefinita corretta.

Il secondo meccanismo di sicurezza è notifyAppReady().

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

Se la tua app non segnala lo stato 'ready' entro i 10 secondi predefiniti notifyAppReady() o entro il tempo che appReadyTimeout hai impostato nella config di Capacitor, Capgo può invalidare il bundle e ripristinare l'ultima versione funzionante. Questo rollback è fondamentale in produzione, ma implica anche che lo startup debba essere pulito:

  • Chiama notifyAppReady() nel posto giusto
  • Evita operazioni lente all'avvio nel critical path
  • Salva e ripristina lo stato dell'app con cura se ricarichi subito
  • Testa scenari con rete lenta e dispositivi low-end prima del rollout

Se non l'hai letta di recente, la guida notifyAppReady merita una rilettura.

6. Usa canali di update interni invece di inutili Native Build

Molti team mobile perdono tempo a buildare binari per modifiche puramente web.

Se la modifica è:

  • copy,
  • Rifinitura UI,
  • il flusso di onboarding,
  • la logica della schermata di pricing,
  • l'integrazione dell'analytics,
  • i feature flag,
  • rendering del prompt o della risposta API,

spesso un aggiornamento Capgo è l'artefatto più rapido da revisionare.

Ciò significa meno rebuild nativi, meno churn su TestFlight e un feedback loop più stretto per il team. È uno dei vantaggi più sottovalutati di Capgo: puoi spostare più lavoro di revisione e QA sul canale OTA senza rompere il confine nativo/web.

La nostra guida su lo staging con un solo ID app mobile spiega un modo pratico per mantenere tutto pulito nel tempo.

7. Tieni separato lean da secret

Bundle piccoli e bundle sicuri risolvono problemi diversi.

I canali gestiscono l'idoneità. Di per sé, non rendono un bundle riservato.

Se hai bisogno di garanzie di distribuzione più forti:

Questo non rende la dimensione dell'update irrilevante. Significa solo che devi ottimizzare entrambi i parametri:

  • leggero per la velocità,
  • criptato per il controllo della distribuzione,
  • canali per il controllo del rollout,
  • rollback per il ripristino.

Un workflow pratico per Capgo

Se cerchi un modello operativo semplice, usa questo:

  1. Mantieni separati i release lane nativi e OTA.
  2. Carica le modifiche JS con --delta di default.
  3. Usa staging e beta i canali prima di production.
  4. Guarda statistiche e log degli update dopo il rollout, non solo prima.
  5. Trasforma le PR in anteprime installabili quando non serve un Native Build.
  6. Evita di includere nel bundle media pesanti o che cambiano spesso.
  7. Aggiorna la baseline nativa dopo grandi aumenti di asset o modifiche native.
  8. Considera notifyAppReady() e il comportamento di rollback come parte del release engineering, non come dettagli di setup.

Questa combinazione resta veloce molto più a lungo dell'approccio comune "carica tutto ciò che è cambiato".

Considerazione finale

Per i team Capgo, "lean and fast" non è solo un problema di dimensione del bundle.

È un problema di design del rilascio.

Usa i Delta update per il payload, i channel per il rollout e i rollback per gestire i fallimenti. Pensando agli OTA in questo modo, gli update rimarranno rapidi anche con l'app, il team e la base utenti in crescita.

Continua da Come mantenere gli update Capgo leggeri e veloci

Se stai usando Come mantenere gli update Capgo leggeri e veloci per pianificare il routing dei canali e il rollout graduale, connettilo a Canali per i dettagli di implementazione dei Channels, Canali per i dettagli di implementazione dei Channels, Canali per i dettagli di implementazione dei Channels, Soluzione di Beta Testing per il workflow di prodotto in Beta Testing Solution, e Soluzione di Version Targeting per il workflow di prodotto in Version Targeting Solution.

Live updates per le app Capacitor

Quando un bug nel web-layer è live, rilascia la fix tramite Capgo invece di aspettare giorni l'approvazione degli store. Gli utenti ricevono l'update in background, mentre le modifiche native restano nel normale processo di review.

Ultimi articoli dal blog

Capgo ti offre gli insight migliori che ti servono per creare un'app mobile davvero professionale.