L'aggiornamento live migliore è quello che i tuoi utenti notano a malapena.
Ciò solitamente significa tre cose:
- Il download è piccolo.
- La distribuzione è controllata.
- La ripristino è istantaneo se qualcosa va storto.
Lo stesso consiglio di "mantieni OTA sottile" che funziona nel territorio di React Native si applica anche a Capgo. La differenza è che Capgo dà ai team di Capacitor un paio di leve extra: Aggiornamenti delta, canali, rollback automatico, target di versione, e opzionale crittografia end-to-end.
Se si utilizzano insieme, si ottengono pacchetti più piccoli, installazioni più veloci e molto meno disordine operativo.
La magrezza conta anche quando il MAU rimane lo stesso
Un utile dettaglio specifico di Capgo: il MAU di Capgo è effettivamente il numero di dispositivi attivi mensili che hanno contattato il servizio di aggiornamento negli ultimi 30 giorni.
Quindi sottileggiare un bundle non è principalmente un trucco per ridurre il conteggio del MAU. Importa perché migliora le parti che gli utenti e i team sentono effettivamente:
- Scarichi più veloci su cellulare o Wi-Fi debole
- Miglior esperienza con aggiornamenti diretti
- Minore spreco di banda per rilasci falliti o annullati
- Raggio d'azione più piccolo quando si testa o si staga un rilascio
Aggiornamenti lean sono davvero sulla velocità, la sicurezza e la disciplina operativa.
1. Imposta per impostazione predefinita gli aggiornamenti Delta
Se fai solo una cosa, fai questo.
Capgo’s Aggiornamenti Delta inviano solo i file che sono stati modificati tra le versioni invece di scaricare nuovamente l'intero bundle web. È il più grande singolo vantaggio per le prestazioni OTA routine.
bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta
Quando la tua passata di QA è conclusa:
bunx @capgo/cli@latest bundle upload --channel production --delta
If desideri che CI rimanga rigoroso, utilizza --delta-only così che nessuno cade accidentalmente su upload di bundle completo:
bunx @capgo/cli@latest bundle upload --channel production --delta-only
Sii rigoroso con --delta-only se il tuo flusso di produzione supporta gli aggiornamenti Delta. Su versioni plugin miste, i dispositivi più vecchi che non supportano la consegna delta basata sul manifesto non potranno scaricare quell'aggiornamento.
Questo conta ancora di più se utilizzi directUpdate, perché il tempo tra “aggiornamento trovato” e “app riavviata” diventa visibile all'utente.
2. Tratta gli asset come asset, non come bagaglio JavaScript
Gli asset grandi sono dove i pacchetti OTA silenziosamente si gonfiano.
Alcune regole pratiche:
- Non incolli grandi immagini o media all'interno di JavaScript quando un file di asset normale farà al caso tuo.
- Tieni il contenuto che cambia frequentemente sul tuo CDN o API se non deve vivere dentro il bundle di app spedito.
- Sii cauto con le immagini di marketing, i video di onboarding e gli asset di campagna uno-off che vengono sostituiti ogni rilascio.
- Conserva gli asset stabili nella loro stabilità. Con gli aggiornamenti Delta, i file invariati vengono riutilizzati al posto di essere scaricati nuovamente.
Questo è uno dei modi più facili per mantenere Capgo veloce mentre il tuo app cresce. Il peggior pattern è una piccola correzione UI che costringe gli utenti a scaricare una pila di media non correlati.
3. Conserva i rilasci nativi per le vere modifiche native
Capgo aggiorna il layer web: HTML, CSS, JavaScript e asset caricati in esecuzione.
Non è il canale giusto per:
- nuovi plugin nativi,
- modifiche di autorizzazione,
capacitor.config.tsmodifiche,- qualsiasi cosa che modifichi lo stato del progetto nativo iOS o Android.
Quella riga conta anche per le prestazioni. Se continui a spingere le grandi modifiche strutturali nella strada degli aggiornamenti OTA, la tua strategia di aggiornamento diventa più pesante e rischiosa nel tempo.
Usa due corsie di rilascio a scopo:
Corsia nativa
For plugin changes, permission changes, e modifiche native:
bun run build
bunx cap sync
Poi rilascia una versione di store normale.
Livello di Capgo
Per iterazioni sicure del layer web:
bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta
Rinfresca inoltre regolarmente la tua baseline nativa se hai aggiunto recentemente molti asset di lunga durata. Un nuovo build di store incorpora quella nuova baseline, che mantiene le future Capgo differenze più piccole.
4. Utilizza i canali per mantenere la dimensione del rilascio piccola
Un aggiornamento “sottile” non riguarda solo i megabyte. Si tratta anche del numero di dispositivi che ricevono l'aggiornamento prima di sapere che è buono.
Capgo’s il sistema dei canali è il modo più pulito per controllare questo:
stagingper QAbetaper tester invitatiproductionFor tuttihotfixFor la ripresa di emergenza
Un flusso semplice assomiglia a questo:
- Incarica su
staging. - Valuta su dispositivi reali.
- Rilascia gradualmente, sia attraverso canali controllati o percentuale di distribuzione.
- Ritorna immediatamente se la salute diminuisce.
Se il tuo'applicazione ha più basi native multiple in circolazione, associa i canali con target versione. Ciò tiene lontani i pacchetti incompatibili o troppo pesanti dai binari più vecchi.
Per i team che desiderano anche dei loop di revisione più stretti, Capgo funziona bene anche per anteprime delle PR. Questo consente ai prodotti, QA e stakeholder di testare le modifiche solo JS senza dover attendere nuove versioni di TestFlight o Play.
5. Se abiliti gli aggiornamenti diretti, ottimizza il percorso di avvio.
Più disciplinato è il percorso di avvio, più veloce verrà applicato l'aggiornamento.
Capgo’s il comportamento degli aggiornamenti i documenti raccomandano esplicitamente di associare directUpdate con gli aggiornamenti Delta. Questo è il default corretto.
La seconda barriera è notifyAppReady().
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
Se l'app non segnala pronto entro la finestra di default di 10 secondi, o entro quanto notifyAppReady() hai impostato nella tua __CAPGO_KEEP_0__ config, __CAPGO_KEEP_1__ può segnalare quella bundle come non valida e ripristinare la versione precedente buona. Questo comportamento di rollback è quello che desideri in produzione, ma significa anche che dovresti mantenere pulito l'avvio: appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:
- Call
notifyAppReady()in il posto giusto - Evita il lavoro di avvio lento nella path critica
- Salva e ripristina lo stato dell'applicazione con cura se si ricarica immediatamente
- Testa gli scenari di rete cattiva e dispositivi di bassa gamma prima di una distribuzione ampia
Se non l'hai rivisto di recente, il guide notifyAppReady è worth rileggere.
6. Utilizza i canali di aggiornamento interni al posto di rebuilds nativi non necessari
Molte squadre mobili perdono tempo costruendo binari per modifiche che sono chiaramente web-only.
Se la modifica è:
- copia,
- polish UI,
- flusso di onboarding,
- logica della schermata di prezzi,
- impianto di analisi,
- bandiere di feature,
- rendere una risposta API o una richiesta,
Poi un aggiornamento Capgo è spesso l'artefatto di revisione più veloce.
Ciò significa meno rebuild nativi, meno churn di TestFlight e un ciclo di feedback più stretto per l'equipaggio. È uno dei benefici più sottoutilizzati di Capgo: puoi spostare più lavoro di revisione e QA nella corsia OTA senza infrangere il confine nativo/web.
La nostra guida su staging con un ID di app mobile copre un modo pratico per mantenere questo pulito nel tempo.
7. Mantieni lean separato da segreto
Piccoli bundle e bundle sicuri risolvono problemi diversi.
Canali controllano l'eligibilità. Non rendono un bundle confidenziale da soli.
Se hai bisogno di garanzie di consegna più forti:
- abilita Crittografia dell'aggiornamento in tempo reale,
- utilizza archiviazione personalizzata o consegna auto-hosted,
- mantieni le chiavi private solo in CI o workflow di operatori sicurizzati.
Ciò non rende irrilevante la dimensione dell'aggiornamento. Significa solo che dovresti ottimizzare per entrambe le dimensioni:
- sii veloce,
- crittografato per il controllo della consegna,
- canali per il controllo del rilascio,
- rollback per la ripresa.
Un flusso di lavoro pratico “lean Capgo”
Se desideri un modello operativo semplice di default, utilizza questo:
- Mantieni separati le linee di rilascio native e OTA.
- Carica modifiche JS con
--deltadi default. - Usa
stagingebetacanali prima diproduction. - Guarda aggiorna statistiche e log dopo il rollout, non solo prima di esso.
- Trasforma PRs in anteprime installabili quando un build nativo non è necessario.
- Conserva grandi, frequentemente cambianti media fuori dal bundle ogni volta che è possibile.
- Aggiorna il baseline nativo dopo un aumento significativo degli asset o dei cambiamenti nativi.
- Tieni
notifyAppReady()e il comportamento di rollback come parte dell'ingegneria di rilascio, non come trivia di configurazione.
Quella combinazione rimane veloce molto più a lungo dell'approccio comune 'carica solo le modifiche'.
Pensiero finale
Per le Capgo squadre, 'lean e veloce' non è solo un problema di dimensione del bundle.
È un problema di design di rilascio.
Utilizza gli aggiornamenti Delta per la dimensione del payload, i canali per la dimensione del rollout e i rollback per la dimensione degli errori. Una volta che pensi all'OTA in questo modo, le tue aggiornamenti rimangono veloci anche quando l'app, la squadra e la base utenti crescono.
Continua da Come tenere aggiornamenti Capgo Lean e Veloci
Se stai utilizzando Come tenere aggiornamenti Capgo Lean e Veloci per pianificare la routing dei canali e la distribuzione in fasi, connettilo con Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Soluzione di Test Beta per il flusso di lavoro del prodotto in Soluzione di Test Beta, e Soluzione di Targeting della Versione per il flusso di lavoro del prodotto in Soluzione di Targeting della Versione.