Saltare al contenuto

Aggiornamenti Delta

Capgo’s Live Update sistema può fornire aggiornamenti più rapidi e efficienti inviando solo i file modificati, anziché l'intero bundle JS.

Questo è particolarmente utile per gli utenti con connessioni di rete più lente o a tariffa, poiché minimizza la quantità di dati che devono essere scaricati.

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

Come funzionano gli aggiornamenti Delta

Come Funzionano gli Aggiornamenti Delta

Gli aggiornamenti Delta in Capgo sono gestiti dal plugin Capgo installato nell'app. Quando caricate una nuova versione dell'applicazione utilizzando il --delta bandiera, Capgo fa quanto segue:

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

Quando un dispositivo che esegue la tua app controlla l'aggiornamento, il plugin Capgo riceve la lista dei file delta per il nuovo bundle. Lo confronta con i file che già ha, identificando quali file sono cambiati in base alle checksum e ai percorsi dei file.

Il plugin scarica quindi solo i file modificati, anziché l'intero bundle JS. Reinsieme la nuova versione dell'applicazione combinando questi file scaricati con i file non modificati che già ha.

Quali dispositivi ricevono Delta e quali ricevono il zip completo

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

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

  • I dispositivi su una versione di plugin con supporto Delta (5.10.0+, 6.25.0+, 7.0.35+o 8+) scaricano solo i file delta modificati.
  • I dispositivi su una versione di plugin più vecchia senza supporto Delta scaricano il file zip completo.
  • I bundle caricati senza --delta non hanno file delta, quindi ogni dispositivo scarica il file zip completo.

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

Potete modificare questo per canale con il Formato di download setting.

Aggiornamenti delta e utilizzo di banda

Aggiornamenti delta e utilizzo di banda

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 Abilitare gli Aggiornamenti delta.

Abilitare Aggiornamenti Delta

Section titled “Enabling Delta Updates”

Per abilitare gli aggiornamenti Delta per il tuo Capgo app, utilizza semplicemente --delta flag when uploading a new version:

Copia nel portapenne
npx @capgo/cli@latest bundle upload --delta

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

  • File vuoti: Il CLI registra Ignoring empty file... e esclude i file di zero byte dai file delta. Non fallisce l'upload, quindi aggiungere un file vuoto può modificare il bundle risultante senza fermare la tua distribuzione. Non includere file di zero byte nelle percorso dei bundle Delta.
  • Spazi nei percorsi: Gli upload Delta falliscono prima di caricare i file quando un percorso del bundle contiene uno spazio. Rinomina il file o la directory per eliminare gli spazi prima di caricare un aggiornamento Delta.

Se desiderate assicurarvi che tutti gli upload siano aggiornamenti Delta e prevenire qualsiasi upload di bundle completo per errore, potete 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 archivio zip completo. Qualsiasi dispositivo su una versione di plugin senza supporto per Delta non potrà scaricare l'aggiornamento.

Potreste voler utilizzare --delta-only se:

  • Desiderate sempre utilizzare Aggiornamenti Delta e non volete mai consentire upload di bundle completi
  • Stavete configurando un flusso di lavoro CI/CD e volete assicurarvi 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

If you need to do a full bundle upload while --delta-only è impostato, esegui semplicemente il comando di caricamento senza --delta-onlyQuesto sovrascriverà la configurazione per quel singolo caricamento, 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-onlyAssicurati di non aver dimenticato di includere --delta flag
  • La tua dispositivo sta eseguendo una versione del 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
  • La tua dispositivo ha una connessione di rete stabile e può raggiungere i server Capgo

Potresti anche utilizzare la Capgo web app per verificare i dettagli dell'ultima sincronizzazione:

  1. Vai alla web app
  2. Clicca sul tuo app
  3. Clicca sul numero di bundle della barra delle statistiche.
  4. Scegli l'ultimo bundle
  5. Verifica i Delta files riga. Mostra nessun file delta quando il pacchetto è stato caricato come un unico zip. tipo di pacchetto

Se continui a avere 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.

È 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 aggiornamento Delta. Se ometti la bandiera, Capgo caricherà l'intero pacchetto JS come un unico file, e i dispositivi scaricheranno l'intero pacchetto anche se solo una piccola parte è cambiata.

Se stai utilizzando Aggiornamenti delta per pianificare l'invio di live update, connettilo con Capgo Aggiornamenti in tempo reale Per il flusso di lavoro del prodotto in Capgo Live Updates. Panoramica per i dettagli di implementazione in Panoramica Caratteristiche per i dettagli di implementazione in Caratteristiche Comportamento dell'aggiornamento per i dettagli di implementazione in Comportamento dell'aggiornamento, e Tipi di aggiornamento per i dettagli di implementazione in Tipi di aggiornamento.