Vai al contenuto

Tipi di aggiornamento

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.

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).

TipoDescrizioneCaso d'uso
autoUpdate: atBackgroundControlla e scarica a ogni check in foreground, applica quando l'app passa in backgroundLa maggior parte delle app; interruzione minima
autoUpdate: atInstallApplica immediatamente solo dopo una nuova installazione o un aggiornamento nativo dall'app store; altrimenti usa atBackgroundNuovi utenti: ultima versione; utenti esistenti: applicazione in background
autoUpdate: onLaunchApplica subito solo al cold start (killed → foreground); poi passa a atBackgroundEquilibrio tra freschezza e stabilità della sessione
autoUpdate: alwaysControlla a ogni transizione in foreground e applica subito se è disponibile un aggiornamentoFix critici, app con stato semplice
autoUpdate: onlyDownloadControlla e scarica automaticamente, emette updateAvailable, e non applica mai automaticamenteApp 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 da soddisfare prima viene installato un update. Usa setMultiDelay per combinarle (tutte le condizioni devono essere soddisfatte).

CondizioneDescrizioneEsempio
dataAspetta fino a una data/ora specificaSincronizza con il rilascio server-side
backgroundAspetta una durata minima (ms) dopo che l'app è in backgroundEvita l'applicazione durante rapidi cambi di app
nativeVersionRichiedi una versione minima del binario nativoBlocca gli aggiornamenti su code nativi incompatibili
killAspetta il prossimo evento di kill dell'appApplica 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' },
],
});

Controlla quali aggiornamenti semver a channel will auto-deliver. Set via --disable-auto-update sui channel.

StrategiaBlocchiConsenteCaso d'uso
nessunoNullaQualsiasi versione di bundle di destinazionePredefinito; auto-aggiornamento completo
majorMajor superiore a version_build, ad esempio 1.2.3 -> 2.0.0Stesso major, ad esempio 1.2.3 -> 1.9.0 oppure 1.2.3 -> 1.2.4Evita che breaking changes raggiungano i vecchi code nativi
minorMajor o minor diversa da version_build, ad esempio 1.2.3 -> 1.3.0Stesso major e minor, ad esempio 1.2.3 -> 1.2.4Mantieni gli update su una sola linea minor nativa
patchQualsiasi cambio di major, minor o patch, ad esempio 1.0.0 -> 1.0.1Solo 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.2Modalità più restrittiva: nessun cambio di versione core
metadatiMancante min_update_version, o version_build sottoBundle di destinazione il cui min_update_version è minore o uguale a version_buildRegole 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.

Finestra del terminale
npx @capgo/cli channel set production --disable-auto-update major

Come il bundle viene trasferito al dispositivo.

TipoDescrizioneQuando usarlo
Bundle completoViene scaricato l'intero bundle JSPrima installazione, modifiche ampie o delta non disponibile
DeltaVengono scaricati solo i file modificatiLa maggior parte degli update; più veloci e con meno banda
Finestra del terminale
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
CategoriaTipi
Timing di applicazioneoff, atBackground, atInstall, onLaunch, always, onlyDownload
Condizioni di delaydate, background, nativeVersion, kill
Blocco versionenone, major, minor, patch, metadata
ConsegnaBundle completo, Delta

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.