Tipi di aggiornamento
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Capgo supporta diversi tipi di aggiornamenti over-the-air (OTA). Questa pagina elenca e spiega tutti i tipi disponibili, così puoi scegliere la combinazione giusta per la tua app.
Tempistiche di applicazione
Sezione intitolata “Timing di applicazione”Controlli quando l'aggiornamento viene applicato dopo il download. Il plugin controlla gli aggiornamenti quando l'app passa in foreground e tramite un timer periodico mentre l'app è aperta. periodCheckDelay controlla quell'intervallo (default 10 minuti).
| Tipo | Descrizione | Caso d'uso |
|---|---|---|
autoUpdate: atBackground | Controlla e scarica a ogni check in foreground, applica quando l'app passa in background | La maggior parte delle app; interruzione minima |
autoUpdate: atInstall | Applica immediatamente solo dopo una nuova installazione o un aggiornamento nativo dall'app store; altrimenti usa atBackground | Nuovi utenti: ultima versione; utenti esistenti: applicazione in background |
autoUpdate: onLaunch | Applica subito solo al cold start (killed → foreground); poi passa a atBackground | Equilibrio tra freschezza e stabilità della sessione |
autoUpdate: always | Controlla a ogni transizione in foreground e applica subito se è disponibile un aggiornamento | Fix critici, app con stato semplice |
autoUpdate: onlyDownload | Controlla e scarica automaticamente, emette updateAvailable, e non applica mai automaticamente | App che mostrano il proprio prompt di aggiornamento o controllano esattamente quando chiamarlo set() |
Configura in capacitor.config.ts:
plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', // default; true is still accepted // or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload' }}Condizioni di ritardo
Sezione intitolata “Condizioni di ritardo”Condizioni da soddisfare prima viene installato un update. Usa setMultiDelay per combinarle (tutte le condizioni devono essere soddisfatte).
| Condizione | Descrizione | Esempio |
|---|---|---|
| data | Aspetta fino a una data/ora specifica | Sincronizza con il rilascio server-side |
| background | Aspetta una durata minima (ms) dopo che l'app è in background | Evita l'applicazione durante rapidi cambi di app |
| nativeVersion | Richiedi una versione minima del binario nativo | Blocca gli aggiornamenti su code nativi incompatibili |
| kill | Aspetta il prossimo evento di kill dell'app | Applica solo al riavvio completo |
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z' }, { kind: 'background', value: '60000' }, ],});Blocco versioni (Channel Policy)
Sezione intitolata “Blocco versioni (Channel Policy)”Controlla quali aggiornamenti semver a channel will auto-deliver. Set via --disable-auto-update sui channel.
| Strategia | Blocchi | Consente | Caso d'uso |
|---|---|---|---|
| nessuno | Nulla | Qualsiasi versione di bundle di destinazione | Predefinito; auto-aggiornamento completo |
| major | Major superiore a version_build, ad esempio 1.2.3 -> 2.0.0 | Stesso major, ad esempio 1.2.3 -> 1.9.0 oppure 1.2.3 -> 1.2.4 | Evita che breaking changes raggiungano i vecchi code nativi |
| minor | Major o minor diversa da version_build, ad esempio 1.2.3 -> 1.3.0 | Stesso major e minor, ad esempio 1.2.3 -> 1.2.4 | Mantieni gli update su una sola linea minor nativa |
| patch | Qualsiasi cambio di major, minor o patch, ad esempio 1.0.0 -> 1.0.1 | Solo cambi di suffisso mentre MAJOR.MINOR.PATCH rimane identico, ad esempio 1.0.0-beta.1 -> 1.0.0-beta.2 oppure 1.0.0+build.1 -> 1.0.0+build.2 | Modalità più restrittiva: nessun cambio di versione core |
| metadati | Mancante min_update_version, o version_build sotto | Bundle di destinazione il cui min_update_version è minore o uguale a version_build | Regole di compatibilità personalizzate per bundle |
Questi controlli confrontano il bundle di destinazione con la baseline nativa inviata come version_build, non con il bundle scaricato e attualmente installato inviato come version_name.
npx @capgo/cli channel set production --disable-auto-update majorTipi di distribuzione
Sezione intitolata “Tipi di distribuzione”Come il bundle viene trasferito al dispositivo.
| Tipo | Descrizione | Quando usarlo |
|---|---|---|
| Bundle completo | Viene scaricato l'intero bundle JS | Prima installazione, modifiche ampie o delta non disponibile |
| Delta | Vengono scaricati solo i file modificati | La maggior parte degli update; più veloci e con meno banda |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @capgo/cli bundle upload --channel production --deltaRiferimento rapido
Sezione intitolata “Riferimento rapido”| Categoria | Tipi |
|---|---|
| Timing di applicazione | off, atBackground, atInstall, onLaunch, always, onlyDownload |
| Condizioni di delay | date, background, nativeVersion, kill |
| Blocco versione | none, major, minor, patch, metadata |
| Consegna | Bundle completo, Delta |
Correlati
Sezione intitolata “Correlati”- Comportamento degli aggiornamenti — Configura tempistica e ritardi di applicazione
- Targeting delle versioni — Routing delle versioni basato su canali
- Aggiornamenti delta — Scarica solo i file modificati
- Canali — Configurazione e precedenza dei canali
Continua da Update Types
Sezione intitolata “Continua da Update Types”Se stai usando Tipi di aggiornamento 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 Per iniziare per i dettagli sull'implementazione in Getting Started.