Capgo Aggiornamenti delta: invia solo i file modificati con --delta
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Il sistema Live Update di Capgo può distribuire aggiornamenti più rapidamente ed efficientemente inviando solo i file modificati, anziché l'intero bundle JS.
Questo è particolarmente utile per gli utenti con connessioni lente o a consumo, poiché riduce al minimo la quantità di dati da scaricare.
Un secondo vantaggio si ha quando l'app contiene asset di grandi dimensioni che cambiano raramente, come immagini o video: a differenza dei file JS compressi, questi vengono scaricati solo una volta.
Come funzionano i Delta Updates
Section titled “How Delta Updates Work”Gli aggiornamenti delta in Capgo sono gestiti dal plugin Capgo installato nella tua app. Quando carichi una nuova versione della tua app usando il --delta flag, Capgo esegue le seguenti operazioni:
- Ogni file nel tuo build viene caricato individualmente come file delta
- Vengono generati checksum per ogni file delta
- L'elenco dei file delta, con i relativi percorsi e checksum, viene salvato nel database di Capgo
Quando un dispositivo che esegue la tua app verifica la presenza di aggiornamenti, il plugin Capgo riceve l'elenco dei file delta per il nuovo bundle. Lo confronta con i file già presenti, identificando quali file sono stati modificati in base ai checksum e ai percorsi.
Il plugin scarica quindi solo i file modificati, anziché l'intero bundle JS. Ricostruisce la nuova versione dell'app combinando questi file scaricati con quelli invariati già presenti.
Quali dispositivi ricevono i Delta e quali lo zip completo
Sezione intitolata “Quali dispositivi ricevono Delta e quali il zip completo”Un bundle caricato con --delta contiene sia un zip completo sia file delta. Su un canale con il formato di download predefinito Zip + delta , ogni dispositivo riceve il pacchetto migliore supportato:
- I dispositivi con una versione del plugin che supporta Delta (
5.10.0+,6.25.0+,7.0.35+, o8+) scaricano solo i file delta modificati. - I dispositivi con una versione del plugin più vecchia senza supporto Delta scaricano il zip completo.
- Bundle caricati senza
--deltanon hanno file delta, quindi ogni dispositivo scarica l'intero zip.
È quindi normale continuare a vedere alcuni download di zip completi dopo aver abilitato Delta. Provengono da dispositivi che eseguono ancora una vecchia build nativa con una versione obsoleta del plugin. Scompaiono man mano che gli utenti aggiornano l'app dal store.
Puoi modificarlo per canale con Formato download setting.
Aggiornamenti delta e utilizzo della banda
Sezione intitolata “Aggiornamenti Delta e utilizzo della banda”Gli aggiornamenti Delta riducono anche l'utilizzo della banda di Capgo. La banda conta solo i file effettivamente scaricati dal dispositivo: con Delta vengono conteggiati solo i file modificati, non l'intero bundle. I file o gli zip completi già in cache al bordo non vengono conteggiati, e i download interrotti riprendono da dove si erano fermati senza ricalcolare la parte già scaricata. Vedi Come viene conteggiata la banda?.
Attivazione degli aggiornamenti delta
Sezione intitolata “Abilitazione di Delta Updates”Per abilitare gli aggiornamenti Delta per la tua app Capgo, usa semplicemente il --delta flag quando carichi una nuova versione:
npx @capgo/cli@latest bundle upload --deltaSe autoUpdate is set to an instant apply mode ("atInstall", "onLaunch", o "always") nel tuo capacitor.config, il CLI lo rileva. Negli ambienti non interattivi invia automaticamente gli aggiornamenti Delta, mentre in quelli interattivi ti chiede conferma prima dell'upload. La configurazione directUpdate legacy viene ancora rilevata. Usa --no-delta per forzare l'upload di un bundle completo.
Limitazioni degli aggiornamenti Delta
Sezione intitolata “Limitazioni degli aggiornamenti Delta”- File vuoti: I log di CLI
Ignoring empty file...ed esclude i file da zero byte dai file delta. Non fa fallire l'upload, quindi aggiungere un file vuoto può modificare il bundle risultante senza bloccare il deployment. Non includere file da zero byte nei percorsi dei bundle Delta. - Spazi nei percorsi: Gli upload Delta falliscono prima dell'invio dei file se un percorso del bundle contiene uno spazio. Rinomina il file o la directory per togliere gli spazi prima di caricare un aggiornamento Delta.
Imporre gli aggiornamenti Delta
Sezione intitolata “Imporre gli aggiornamenti Delta”Se vuoi assicurarti che tutti gli upload siano aggiornamenti Delta ed evitare upload accidentali di bundle completi, puoi usare il --delta-only flag:
npx @capgo/cli@latest bundle upload --delta-onlyQuando --delta-only Se viene usato, Capgo caricherà solo i file delta, senza uno zip completo. Qualsiasi dispositivo con una versione del plugin senza supporto Delta non potrà scaricare l'aggiornamento.
Potresti voler usare --delta-only se:
- Vuoi usare sempre gli aggiornamenti Delta e non vuoi mai permettere l'upload di bundle completi
- Stai configurando una pipeline CI/CD e vuoi assicurarti che tutti gli upload automatizzati siano Delta
- La tua app è grande e la banda è limitata, quindi devi minimizzare le dimensioni di upload/download
Se devi fare un upload del bundle completo mentre --delta-only è impostato, basta eseguire il comando di upload senza --delta-only. Questo sovrascriverà l'impostazione per quel singolo upload, permettendoti di pushare un bundle completo quando serve.
Risoluzione problemi
Sezione intitolata “Troubleshooting”Se gli aggiornamenti Delta non sembrano funzionare (ovvero i dispositivi scaricano sempre l'intero bundle JS anche per piccole modifiche), verifica bene che:
- Stai usando il
--deltaflag ogni volta che effettui l'upload di una nuova versione - Se usi
--delta-only, assicurati di non aver accidentalmente omesso il--deltaflag - Il tuo dispositivo sta eseguendo una versione del plugin con supporto Delta (
5.10.0+,6.25.0+,7.0.35+, o8+) - Il formato di download del canale non è Solo zip completo
- Il tuo dispositivo ha una connessione di rete stabile e può raggiungere i server Capgo
Puoi anche usare la webapp Capgo per controllare i dettagli del tuo ultimo upload:
- Vai a webapp
- Clicca sulla tua app
- Fai clic sul numero di bundle nella barra delle statistiche.
- Seleziona l'ultimo bundle
- Consulta la
Delta filesriga. Mostra Nessun file delta quando il bundle è stato caricato solo come zip completo.
Se continui ad avere problemi, contatta il supporto Capgo per ulteriore assistenza. Possono controllare i log del server per confermare che i caricamenti Delta vengono elaborati correttamente e che i dispositivi stanno ricevendo i file delta.
Ecco fatto! Il --delta flag istruisce Capgo a caricare i singoli file delta necessari per gli aggiornamenti Delta.
Nota che devi usare --delta ogni volta che carichi una nuova versione che vuoi venga consegnata come Delta update. Se ometti il flag, Capgo caricherà l'intero JS bundle come un singolo file e i dispositivi scaricheranno l'intero bundle anche se è cambiata solo una piccola parte.
Continua dagli aggiornamenti Delta
Sezione intitolata “Continua dagli aggiornamenti Delta”Se stai usando Aggiornamenti delta per pianificare la distribuzione di live update, collegalo a Live Updates di Capgo per il workflow del prodotto in Capgo Live Updates, Panoramica per i dettagli di implementazione nell'Overview, Funzionalità per i dettagli implementativi in Features, Comportamento degli aggiornamenti per i dettagli implementativi in Update Behavior, e Tipi di aggiornamento per i dettagli di implementazione in Tipi di aggiornamento.