Saltare al contenuto

Tipi di Aggiornamento

Capgo supporta diversi tipi di aggiornamenti over-the-air (OTA). Questa pagina elenca e spiega tutti di loro in modo che possa scegliere la combinazione giusta per la sua app.

Controlli quando un aggiornamento viene applicato dopo essere stato scaricato. Il plugin controlla gli aggiornamenti quando l'app si sposta in primo piano e su un timer ripetuto mentre l'app rimane aperta. periodCheckDelay controlli quell'intervallo (impostazione predefinita 10 minuti).

TipoDescrizioneUtilizzo
autoUpdate: atBackgroundControlla e scarica su ogni controllo in primo piano, applica quando l'app si sposta in backgroundLa maggior parte degli app; minimo disturbo
autoUpdate: atInstallApplica immediatamente solo dopo un'installazione fresca o un aggiornamento della store nativa; altrimenti utilizza atBackgroundGli utenti nuovi ricevono la versione più recente; gli utenti esistenti utilizzano l'aggiornamento in background
autoUpdate: onLaunchApplica immediatamente solo all'avvio (killed → foreground); quindi ricade su atBackgroundEquilibrio tra freschezza e stabilità della sessione
autoUpdate: alwaysControlla ogni transizione in primo piano e applica immediatamente ogni volta che è disponibile un aggiornamentoRisolvere le criticità, app con stato semplice
autoUpdate: onlyDownloadControlla e scarica automaticamente, emetti updateAvailablee non applica mai automaticamenteApp che mostrano la propria finestra di aggiornamento o controllano esattamente quando chiamare set()

Configura in capacitor.config.ts:

plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // default; true is still accepted
// or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload'
}
}

Le condizioni che devono essere soddisfatte prima di un aggiornamento venga installato. Utilizza setMultiDelay per combinarele (tutte le condizioni devono essere soddisfatte).

CondizioneDescrizioneEsempio
dataAspettare fino a una data specifica/oraCoordina con la rilascio server-side
backgroundAspettare un minimo di durata (ms) dopo che l'app è stata backgroundataEvita l'applicazione durante i rapidi switch di app
nativeVersionRichiedi una versione minima di binario nativoBlocca gli aggiornamenti su nativi code incompatibili
uccidiAspetta l'evento di uccisione dell'applicazione successivoApplica 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 un canale auto-distribuirà. Impostato via --disable-auto-update su canali.

StrategyBlocksConsenteUtilizzo
nessunoNienteQualsiasi versione del bundle di destinazionePredefinito; aggiornamento auto completo
maggioreMaggiore di maggiore version_buildad esempio 1.2.3 -> 2.0.0stesso major, ad esempio 1.2.3 -> 1.9.0 o 1.2.3 -> 1.2.4Prevenire le modifiche di rottura da raggiungere le native code
minoreDi diverso major o minore di version_build, ad esempio 1.2.3 -> 1.3.0stesso major e minore, ad esempio 1.2.3 -> 1.2.4Mantieni gli aggiornamenti all'interno di una linea minorativa nativa
patchQualsiasi cambiamento di numero di major, minore o patch, ad esempio 1.0.0 -> 1.0.1Solo cambiamenti di suffisso mentre MAJOR.MINOR.PATCH rimane identico, ad esempio 1.0.0-beta.1 -> 1.0.0-beta.2 o 1.0.0+build.1 -> 1.0.0+build.2Modalità più rigorosa: nessuna versione core in movimento
metadatiMancante min_update_version, o version_build sotto di essoIl bundle di destinazione il cui min_update_version è inferiore o uguale a version_buildRegole di compatibilità personalizzate per bundle

Queste verifiche confrontano il bundle di destinazione con la baseline nativa inviata come version_build, non il bundle scaricato e installato correntemente 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 utilizzare
Bundle completoTutto il bundle JS viene scaricatoPrima installazione, grandi modifiche o quando non è disponibile il delta
Delta (manifesto)Solo i file modificati vengono scaricatiMaggior parte degli aggiornamenti; più veloce e amichevole con la 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
Applica ritardooff, atBackground, atInstall, onLaunch, always, onlyDownload
Condizioni di ritardodate, background, nativeVersion, kill
Blocco versionenone, major, minor, patch, metadata
ConsegnaPacco completo, Delta (manifesto)

Se stai utilizzando Tipi di Aggiornamento per pianificare la consegna di aggiornamenti in tempo reale, connettilo con Capgo Aggiornamenti in Tempo Reale per il flusso di lavoro del prodotto in Capgo Aggiornamenti in Tempo Reale, Panoramica per i dettagli di implementazione in Overview Caratteristiche per i dettagli di implementazione in Caratteristiche Comportamento dell'aggiornamento per i dettagli di implementazione in Comportamento dell'aggiornamento, e Avvio per i dettagli di implementazione in Avvio.