Zum Inhalt springen

Update-Typen

Capgo unterstützt mehrere Arten von Over-the-Air-Updates (OTA). Diese Seite listet sie alle auf und erklärt sie, damit du die passende Kombination für deine App wählst.

Steuerung wenn Ein Update wird nach dem Download angewendet. Das Plugin prüft auf Updates, wenn die App in den Vordergrund wechselt, sowie in regelmäßigen Abständen, während die App geöffnet bleibt. periodCheckDelay steuert dieses Intervall (Standard: 10 Minuten).

TypBeschreibungAnwendungsfall
autoUpdate: atBackgroundBei jedem Foreground-Check prüfen und herunterladen, beim Wechsel in den Hintergrund anwendenDie meisten Apps; minimale Unterbrechung
autoUpdate: atInstallNur direkt nach einer Neuinstallation oder einem Native App Store Update anwenden; ansonsten verwenden Sie atBackgroundNew users get latest; existing users use background apply
autoUpdate: onLaunchNur beim Cold Start (getötet → Vordergrund) sofort anwenden; danach auf atBackgroundBalance zwischen Aktualität und Sitzungstabilität
autoUpdate: alwaysBei jedem Übergang in den Vordergrund prüfen und sofort anwenden, wenn ein Update verfügbar istKritische Fixes, Apps mit einfachem State
autoUpdate: onlyDownloadAutomatisch prüfen und herunterladen, auslösen updateAvailable, und niemals automatisch anwendenApps, die ihr eigenes Update-Prompt anzeigen oder genau steuern, wann set()

Konfigurieren in capacitor.config.ts:

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

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

BedingungBeschreibungBeispiel
DatumWait until after a specific date/timeMit serverseitigem Release abstimmen
HintergrundMindestdauer (ms) warten, nachdem die App in den Hintergrund geschaltet wurdeAnwendung bei schnellen App-Wechseln vermeiden
nativeVersionMindestens eine native Binärversion erforderlichUpdates auf inkompatiblen nativen code blockieren
killBis zum nächsten App-Kill-Ereignis wartenNur bei vollständigem Neustart anwenden
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 ausliefert. Festlegen über --disable-auto-update auf Channels.

StrategieBlockiertErlaubtAnwendungsfall
KeineNichtsBeliebige Ziel-Bundle-VersionStandard; vollautomatisches Update
MajorHöhere Major-Version als version_build, zum Beispiel 1.2.3 -> 2.0.0Gleiche Major-Version, zum Beispiel 1.2.3 -> 1.9.0 oder 1.2.3 -> 1.2.4Verhindern, dass breaking changes alte native code erreichen
minorAndere Major- oder Minor-Version als version_build, zum Beispiel 1.2.3 -> 1.3.0Gleiche Major- und Minor-Version, zum Beispiel 1.2.3 -> 1.2.4Updates innerhalb einer nativen Minor-Linie halten
PatchJede Änderung der Major-, Minor- oder Patch-Nummer, zum Beispiel 1.0.0 -> 1.0.1Nur Suffix-Änderungen, während MAJOR.MINOR.PATCH identisch bleibt, zum Beispiel 1.0.0-beta.1 -> 1.0.0-beta.2 oder 1.0.0+build.1 -> 1.0.0+build.2Strengster Modus: keine Änderung der Core-Version
MetadatenFehlt min_update_version, oder version_build darunterZiel-Bundle, dessen min_update_version kleiner oder gleich ist als version_buildEigene Kompatibilitätsregeln pro Bundle

Diese Prüfungen vergleichen das Ziel-Bundle mit der nativen Baseline, die als version_build, nicht das aktuell installierte, heruntergeladene Bundle, das als version_name.

Terminalfenster
npx @capgo/cli channel set production --disable-auto-update major

Wie das Bundle übertragen wird aufs Gerät.

TypBeschreibungWann verwenden
Gesamtes BundleDas gesamte JS-Bundle wird heruntergeladenErstinstallation, große Änderungen oder wenn kein Delta verfügbar ist
DeltaNur geänderte Dateien werden heruntergeladenDie meisten Updates; schneller und bandbreitenschonend
Terminalfenster
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
KategorieTypen
Apply-Timingoff, atBackground, atInstall, onLaunch, always, onlyDownload
Verzögerungsbedingungendate, background, nativeVersion, kill
Versionsblockadenone, major, minor, patch, metadata
AuslieferungVollständiges Bundle, Delta

Wenn du es nutzt Update-Typen um die Auslieferung von live update zu planen, verbinde sie mit Capgo Live Updates für den Produkt-Workflow in Capgo Live Updates, Übersicht für die Implementierungsdetails in Overview, Funktionen für die Implementierungsdetails in Features, Update-Verhalten für die Implementierungsdetails in Update Behavior und Erste Schritte für die Implementierungsdetails in Getting Started.