Vai al contenuto

Aggiornamenti Delta

Capgo's Live Update sistema può fornire aggiornamenti più velocemente e in modo più efficiente inviando solo i file modificati, anziché l'intero pacchetto JS.

Questo è particolarmente utile per gli utenti con connessioni di rete più lente o a tariffa, poiché riduce l'ammontare di dati che devono essere scaricati.

Un secondo beneficio è quando l'applicazione ha grandi risorse che cambiano raramente, come immagini o video, rispetto ai file JS zippati che verranno scaricati solo una volta.

L'aggiornamento delta in Capgo sono gestiti dal plugin Capgo installato nell'app. Quando carichi una nuova versione dell'app utilizzando la Capgo bandiera, Capgo esegue le seguenti azioni: --delta bandiera, Capgo fa quanto segue:

  1. Ogni file del tuo build viene caricato individualmente come file delta
  2. Sono generati i checksum per ogni file delta
  3. La lista dei file delta, con le loro percorso e checksum, è salvata nel database Capgo.

When a device running your app checks for an update, the Capgo plugin receives the list of delta files for the new bundle. It compares it to the files it already has, identifying which files have changed based on the checksums and file paths.

The plugin then downloads only the changed files, rather than the entire JS bundle. It reconstructs the new version of the app by combining these downloaded files with the unchanged files it already has.

Quali dispositivi ricevono Delta e quali il file zip completo

Sezione intitolata “Quali dispositivi ricevono Delta e quali il file zip completo”

Un bundle caricato con --delta Ha entrambi un file zip completo e un file delta. Su un canale con le impostazioni predefinite Zip + delta formato di download, ogni dispositivo riceve il pacchetto migliore che supporta:

  • ) scaricano solo i file delta modificati.5.10.0+, 6.25.0+, 7.0.35+, or 8+scarica solo i file delta modificati.
  • non hanno file delta, quindi ogni dispositivo scarica il file zip completo.
  • Bundles caricati senza --delta non hanno file delta, quindi ogni dispositivo scarica il file zip completo.

Ci si aspetta ancora di vedere alcuni download zip completi dopo aver abilitato Delta. Vengono da dispositivi che ancora eseguono una versione nativa più vecchia con una versione vecchia del plugin. Scompaiono quando gli utenti aggiornano l'applicazione dal negozio.

Puoi modificare questo per canale con il Formato di download Impostazione

Delta updates also lower your Capgo bandwidth usage. Bandwidth only counts the files a device actually downloads, so with Delta only the changed files count, not the whole bundle. Files or full zips already cached at the edge do not count, and interrupted downloads resume where they stopped without counting the downloaded part twice. See Come viene conteggiata la banda?.

Abilitazione degli Aggiornamenti Delta

Section titled “Enabling Delta Updates”

Per abilitare gli aggiornamenti Delta per la tua Capgo app, utilizza semplicemente --delta flag quando si carica una nuova versione:

Finestra del terminale
npx @capgo/cli@latest bundle upload --delta

Se autoUpdate is set to an instant apply mode ("atInstall", "onLaunch"o "always") nel tuo capacitor.config, il CLI lo rileva. In ambienti non interattivi invia aggiornamenti Delta automaticamente, mentre in ambienti interattivi ti chiede di confermare prima di caricare. directUpdate per forzare l'upload di un bundle completo. --no-delta Limitazioni degli aggiornamenti Delta

Sezione intitolata “Limitazioni degli aggiornamenti Delta”

Aggiornamenti delta: limitazioni
  • Il __CAPGO_KEEP_0__ registra I registri del CLI Ignoring empty file... e esclude i file di zero byte dai file delta. Non fallisce l'upload, quindi l'aggiunta di un file vuoto può modificare il pacchetto risultante senza fermare la tua distribuzione. Non includere i file di zero byte nelle percorso dei pacchetti Delta.
  • Spazi nei percorsi: Il caricamento Delta fallisce prima di caricare i file quando un percorso del pacchetto contiene uno spazio. Rinomina il file o la directory per eliminare gli spazi prima di caricare un aggiornamento Delta.

Se desideri assicurarti che tutti gli upload siano aggiornamenti Delta e prevenire qualsiasi caricamento accidentale di pacchetti completi, puoi utilizzare il --delta-only flag:

Fenestra del terminale
npx @capgo/cli@latest bundle upload --delta-only

Quando --delta-only è utilizzato, Capgo caricherà solo i file delta, senza un file zip completo. Qualsiasi dispositivo su una versione di plugin senza supporto Delta non potrà scaricare l'aggiornamento.

Potresti voler utilizzare --delta-only se:

  • Desideri sempre utilizzare gli aggiornamenti Delta e non desideri mai consentire l'upload di bundle completi
  • Stai configurando un flusso di lavoro CI/CD e desideri assicurarti che tutti gli upload automatizzati siano Delta
  • Il tuo app è grande e la banda è limitata, quindi devi ridurre le dimensioni degli upload e dei download

Se hai bisogno di eseguire un upload di bundle completo mentre --delta-only è impostato, esegui semplicemente il comando di upload senza --delta-onlyQuesto sovrascriverà la configurazione per quell'upload singolo, consentendoti di inviare un bundle completo quando necessario

If Delta updates don’t seem to be working (i.e. devices are always downloading the full JS bundle even for small changes), double check that:

  • Stai utilizzando il --delta indicare ogni volta che carichi una nuova versione
  • Se si utilizza --delta-only, assicurati di non aver dimenticato di includere la --delta flag
  • Il tuo dispositivo sta eseguendo una versione di plugin con supporto a Delta ("5.10.0+, 6.25.0+, 7.0.35+o 8+)
  • 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

Potresti anche utilizzare la Capgo webapp per verificare i dettagli del tuo ultimo upload:

  1. Vai alla webapp
  2. Clicca sul tuo app
  3. Clicca sul numero dei bundle della barra delle statistiche.
  4. Seleziona l'ultimo bundle.
  5. Controlla la Delta files riga. Mostra Nessun file delta quando il bundle è stato caricato come un unico file zip. tipo di bundle

Se hai ancora problemi, per favore contatta il supporto Capgo per ulteriore assistenza. Possono controllare i log del server per confermare che le tue upload Delta vengono elaborati correttamente e che i dispositivi ricevono i file delta.

Ecco tutto! La --delta bandiera indica a Capgo di caricare i singoli file delta necessari per gli aggiornamenti Delta.

Nota che devi utilizzare --delta ogni volta che carichi una nuova versione che desideri essere consegnata come un aggiornamento Delta. Se ometti la bandiera, Capgo caricherà l'intero bundle JS come un unico file, e i dispositivi scaricheranno l'intero bundle anche se è cambiato solo una piccola parte.

Se stai utilizzando Aggiornamenti Delta per pianificare la live update consegna, connettilo Capgo Live Updates per pianificare la consegna Capgo, connettilo con Overview per i dettagli di implementazione nella panoramica Features per i dettagli di implementazione nelle Funzionalità, Comportamento dell'aggiornamento per il dettaglio di implementazione in Update Behavior, e Tipi di Aggiornamento per il dettaglio di implementazione in Tipi di Aggiornamento.