Zum Inhalt springen

Update-Typen

Capgo unterstützt verschiedene Arten von Over-the-Air (OTA) Updates. Diese Seite listet und erklärt alle, damit Sie die richtige Kombination für Ihre App wählen können.

Steuert wann ein Update angewendet wird, nachdem es heruntergeladen wurde.

TypBeschreibungAnwendungsfall
StandardDownload im Hintergrund, Anwendung wenn Benutzer die App in den Hintergrund verschiebt oder beendetDie meisten Apps; minimale Unterbrechung
directUpdate: atInstallSofortige Anwendung nur bei Neuinstallation oder App-Store-UpdateNeue Benutzer erhalten die neueste Version; bestehende Benutzer nutzen den Standard-Ablauf
directUpdate: onLaunchSofortige Anwendung bei Installation, Store-Update oder nach App-BeendigungBalance zwischen Aktualität und Sitzungsstabilität
directUpdate: alwaysSofortige Anwendung wann immer ein Update heruntergeladen wird (auch beim Fortsetzen)Kritische Fixes, Apps mit einfachem Zustand

Konfiguration in capacitor.config.ts:

plugins: {
CapacitorUpdater: {
directUpdate: false, // default
// or: 'atInstall' | 'onLaunch' | 'always'
}
}

Bedingungen, die erfüllt sein müssen, bevor ein Update installiert wird. Verwenden Sie setMultiDelay, um sie zu kombinieren (alle Bedingungen müssen erfüllt sein).

BedingungBeschreibungBeispiel
dateWarten bis nach einem bestimmten Datum/ZeitpunktKoordination mit serverseitiger Veröffentlichung
backgroundWarten auf eine Mindestdauer (ms) nachdem die App in den Hintergrund verschoben wurdeVermeidung der Anwendung bei schnellen App-Wechseln
nativeVersionErfordert eine minimale native BinärversionBlockierung von Updates bei inkompatibler nativer Code-Version
killWarten bis zum nächsten App-Beendigungs-EreignisAnwendung nur bei vollständigem Neustart
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({
delayConditions: [
{ kind: 'date', value: '2023-06-01T00:00:00.000Z' },
{ kind: 'background', value: '60000' },
],
});

Steuert, welche Semver-Updates ein Channel automatisch bereitstellt. Wird über --disable-auto-update bei Channels festgelegt.

StrategieBlockiertErlaubtAnwendungsfall
noneNichtsAlle UpdatesStandard; vollständiges Auto-Update
major0.0.0 → 1.0.0Gleiche Major-Version (z.B. 1.x → 1.y)Verhinderung von Breaking Changes bei alter nativer Version
minor0.0.0 → 1.1.0, 1.1.0 → 1.2.0Gleiche Minor-Version (z.B. 1.2.x → 1.2.y)Strengere Kontrolle innerhalb der Major-Version
patchJede Änderung außer Patch-ErhöhungNur 0.0.311 → 0.0.314Sehr streng; nur Patch-Updates
metadataUpdates ohne min_update_versionUpdates mit expliziten Kompatibilitäts-MetadatenBenutzerdefinierte Kompatibilitätsregeln pro Bundle
Terminal-Fenster
npx @capgo/cli channel set production --disable-auto-update major

Wie das Bundle auf das Gerät übertragen wird.

TypBeschreibungWann verwenden
Vollständiges BundleDas gesamte JS-Bundle wird heruntergeladenErste Installation, große Änderungen oder wenn Delta nicht verfügbar ist
Delta (Manifest)Nur geänderte Dateien werden heruntergeladenDie meisten Updates; schneller und bandbreitenfreundlich
Terminal-Fenster
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
KategorieTypen
AnwendungszeitpunktStandard, atInstall, onLaunch, always
Verzögerungsbedingungendate, background, nativeVersion, kill
Versionssperrungnone, major, minor, patch, metadata
BereitstellungVollständiges Bundle, Delta (Manifest)