La migliore aggiornamento live è quello che i tuoi utenti notano appena.
Di solito significa tre cose:
- La download è piccola.
- La distribuzione è controllata.
- La ripristino è istantaneo se qualcosa va storto.
Lo stesso consiglio di mantenere le OTA sottili che funziona nel mondo di React Native si applica anche a Capgo. La differenza è che Capgo dà ai team di Capacitor un paio di leve extra: Aggiornamenti delta, context: Pagina/Area: Pagina prodotto/prezzo aziendale. Ruolo: Etichetta breve o elemento di navigazione. Visto in: pagina enterprise.astro. Chiave messaggio `enterprise_delta_updates` (Aggiornamenti Delta Aziendale)., canali, rollback automaticotargeting versione , e facoltativo.
crittografia end-to-end
Se si utilizzano insieme, si ottengono pacchetti più piccoli, installazioni più veloci e molto meno disordine operativo.
One useful Capgo-specific detail: Capgo MAU is effectively the number of monthly active devices that contacted the update service in the last 30 days.
Un utile dettaglio specifico di __CAPGO_KEEP_0__: il MAU di __CAPGO_KEEP_1__ è effettivamente il numero di dispositivi attivi mensili che hanno contattato il servizio di aggiornamento negli ultimi 30 giorni.
- 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
Gli aggiornamenti lean sono davvero velocità, sicurezza e disciplina operativa.
1. Imposta per impostazione predefinita gli aggiornamenti Delta
Se fai solo una cosa, fai questo.
Capgo’s Gli aggiornamenti Delta inviano solo i file che sono stati modificati tra le versioni invece di scaricare nuovamente l'intero pacchetto web. È il più grande singolo vantaggio per la prestazione OTA di 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
Utilizza solo --delta-only quando la tua flotta di produzione supporta gli aggiornamenti Delta. Sui plugin di versione mista, 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 gli aggiornamenti OTA quietamente si gonfiano.
Alcune regole pratiche:
- Non incolli grandi immagini o media all'interno di JavaScript quando un file di asset normale farà al caso.
- 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-a-uno che vengono sostituiti ogni rilascio.
- Tenete stabili gli asset stabili. 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 modello è una piccola correzione UI che costringe gli utenti a scaricare un mucchio di media non correlate.
3. Mantenere le rilasci native 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 alle autorizzazioni
capacitor.config.tsmodifiche- qualsiasi cosa che modifichi lo stato del progetto nativo iOS o Android.
Quella riga conta anche per le prestazioni. Se continuate a spingere le grandi modifiche strutturali nella strada dell'aggiornamento OTA, la vostra strategia di aggiornamento diventa più pesante e rischiosa nel tempo.
Usate due linee di rilascio a scopo:
Lane nativa
For le modifiche dei plugin, le modifiche delle autorizzazioni e la configurazione nativa:
bun run build
bunx cap sync
Poi rilascia una versione di store normale.
Livello di Capgo
Per iterazione sicura 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. Una nuova costruzione di store incorpora quella nuova baseline, che mantiene le differenze future di Capgo 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.
I canali di Capgo il sistema dei canali è il modo più pulito per controllare ciò:
stagingper la QAbetaper i tester invitatiproductionper tuttihotfixper la ripresa di emergenza
Un flusso semplice assomiglia a questo:
- Carica su
staging. - Verifica su dispositivi reali.
- Rilascia gradualmente, sia attraverso canali controllati o percentuale di distribuzione.
- Ritorna immediatamente se la salute diminuisce.
Se la tua app ha più basi native 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 dei PRQuello consente ai prodotti, QA e stakeholder di testare le modifiche solo JavaScript senza dover attendere nuove versioni di TestFlight o Play.
5. Se abiliti gli aggiornamenti diretti, ottimizza il percorso di avvio.
La velocità con cui desideri applicare un aggiornamento, più disciplinato deve essere il tuo percorso di avvio.
Capgo's il comportamento degli aggiornamenti i documenti raccomandano esplicitamente di abbinare directUpdate con gli aggiornamenti Delta. Quello è il default giusto.
La seconda barriera è notifyAppReady().
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
Se il tuo 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 invalida e ripristinare la versione precedente buona. Quel comportamento di rollback è quello che desideri in produzione, ma significa anche che dovresti mantenere l'avvio pulito: 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:
- Se non segnali pronto entro la finestra di default di 10 secondi, o entro quanto hai impostato nella tua configurazione __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ può segnalare quella bundle come invalida e ripristinare la versione precedente buona.
notifyAppReady()Inserisci tutto nel posto giusto - Evitare il lavoro di avvio lento nella traiettoria critica
- Salva e ripristina lo stato dell'applicazione con cura se si ricarica immediatamente
- Testa gli scenari di rete lenta e dispositivi di bassa gamma prima di una distribuzione ampia
Se non l'hai rivisto di recente, il guida notifyAppReady è degno di una rilettura.
6. Utilizza i canali di aggiornamento interni al posto di rebuild native non necessari
Molti team mobili perdono tempo costruendo binari per modifiche che sono chiaramente web-only.
Se la modifica è:
- copia
- polish UI
- Onboarding flow,
- Logica dello schermo di prezzi,
- Impostazione di analisi,
- Bandiere di feature,
- Rendere una risposta API o una richiesta,
Poi un aggiornamento Capgo è spesso l'artefatto di revisione più veloce.
Questo significa meno rebuild nativi, meno cambiamenti in TestFlight e un ciclo di feedback più stretto per l'equipaggio. È uno dei benefici meno utilizzati di Capgo: puoi spostare più lavoro di revisione e QA nella strada OTA senza infrangere il confine nativo/web.
Nostra guida su Stagionatura con un ID di app mobile copre un modo pratico per mantenere questo pulito nel tempo.
7. Mantieni separato lean da segreto
Pacchetti piccoli e pacchetti sicuri risolvono problemi diversi.
i canali controllano l'accesso. Non rendono un bundle confidenziale da soli.
Se hai bisogno di garanzie di consegna più forti:
- abilita la crittografia degli aggiornamenti in tempo reale,
- utilizza un archiviazione personalizzata o una consegna auto-hosted,
- conserva le chiavi private solo nei flussi di lavoro degli operatori o nei CI.
Questo non rende irrilevante la dimensione degli aggiornamenti. Significa solo che dovresti ottimizzare per entrambe le dimensioni:
- lean per la velocità
- cifrato per il controllo della consegna
- i canali per il controllo della distribuzione
- rollback per la ripristino.
Ambienti di lavoro pratici “lean Capgo”
Se desideri un modello operativo semplice di default, utilizza questo:
- Tenere separate le linee di rilascio native e OTA.
- Caricare modifiche JS con
--deltadi default. - Usa
stagingebetacanali prima diproduction. - Guarda statistiche e log degli aggiornamenti dopo il rollout, non solo prima.
- Converti PR in anteprime installabili quando un build nativo non è necessario.
- Conserva grandi file multimediali, che cambiano frequentemente, fuori dal pacchetto quando 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 i team di Capgo, "lean e veloce" non è solo un problema di dimensione del pacchetto.
È un problema di design di rilascio.
Utilizza gli aggiornamenti Delta per la dimensione del payload, i canali per la dimensione di distribuzione e i rollback per la dimensione degli errori. Una volta che pensi agli aggiornamenti OTA in questo modo, le tue aggiornamenti rimangono veloci anche quando l'app, il team e la base utenti crescono.
Continua da Come mantenere aggiornamenti Capgo lean e veloci
Se stai utilizzando Come mantenere aggiornamenti Capgo lean e veloci per pianificare la routing del canale 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.