Update-Typen
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
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.
Anwendungszeitpunkt
Abschnitt „Zeitpunkt der Anwendung“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).
| Typ | Beschreibung | Anwendungsfall |
|---|---|---|
autoUpdate: atBackground | Bei jedem Foreground-Check prüfen und herunterladen, beim Wechsel in den Hintergrund anwenden | Die meisten Apps; minimale Unterbrechung |
autoUpdate: atInstall | Nur direkt nach einer Neuinstallation oder einem Native App Store Update anwenden; ansonsten verwenden Sie atBackground | New users get latest; existing users use background apply |
autoUpdate: onLaunch | Nur beim Cold Start (getötet → Vordergrund) sofort anwenden; danach auf atBackground | Balance zwischen Aktualität und Sitzungstabilität |
autoUpdate: always | Bei jedem Übergang in den Vordergrund prüfen und sofort anwenden, wenn ein Update verfügbar ist | Kritische Fixes, Apps mit einfachem State |
autoUpdate: onlyDownload | Automatisch prüfen und herunterladen, auslösen updateAvailable, und niemals automatisch anwenden | Apps, 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' }}Delay-Bedingungen
Abschnitt mit dem Titel „Delay Conditions“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).
| Bedingung | Beschreibung | Beispiel |
|---|---|---|
| Datum | Wait until after a specific date/time | Mit serverseitigem Release abstimmen |
| Hintergrund | Mindestdauer (ms) warten, nachdem die App in den Hintergrund geschaltet wurde | Anwendung bei schnellen App-Wechseln vermeiden |
| nativeVersion | Mindestens eine native Binärversion erforderlich | Updates auf inkompatiblen nativen code blockieren |
| kill | Bis zum nächsten App-Kill-Ereignis warten | Nur 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' }, ],});Versionsblockierung (Channel Policy)
Abschnitt mit dem Titel „Versionsblockierung (Channel Policy)“Steuert, welche SemVer-Updates ein Channel automatisch ausliefert. Festlegen über --disable-auto-update auf Channels.
| Strategie | Blockiert | Erlaubt | Anwendungsfall |
|---|---|---|---|
| Keine | Nichts | Beliebige Ziel-Bundle-Version | Standard; vollautomatisches Update |
| Major | Höhere Major-Version als version_build, zum Beispiel 1.2.3 -> 2.0.0 | Gleiche Major-Version, zum Beispiel 1.2.3 -> 1.9.0 oder 1.2.3 -> 1.2.4 | Verhindern, dass breaking changes alte native code erreichen |
| minor | Andere Major- oder Minor-Version als version_build, zum Beispiel 1.2.3 -> 1.3.0 | Gleiche Major- und Minor-Version, zum Beispiel 1.2.3 -> 1.2.4 | Updates innerhalb einer nativen Minor-Linie halten |
| Patch | Jede Änderung der Major-, Minor- oder Patch-Nummer, zum Beispiel 1.0.0 -> 1.0.1 | Nur 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.2 | Strengster Modus: keine Änderung der Core-Version |
| Metadaten | Fehlt min_update_version, oder version_build darunter | Ziel-Bundle, dessen min_update_version kleiner oder gleich ist als version_build | Eigene 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.
npx @capgo/cli channel set production --disable-auto-update majorAuslieferungstypen
Abschnitt mit dem Titel „Auslieferungstypen“Wie das Bundle übertragen wird aufs Gerät.
| Typ | Beschreibung | Wann verwenden |
|---|---|---|
| Gesamtes Bundle | Das gesamte JS-Bundle wird heruntergeladen | Erstinstallation, große Änderungen oder wenn kein Delta verfügbar ist |
| Delta | Nur geänderte Dateien werden heruntergeladen | Die meisten Updates; schneller und bandbreitenschonend |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @capgo/cli bundle upload --channel production --deltaKurzübersicht
Abschnitt mit dem Titel „Kurzübersicht“| Kategorie | Typen |
|---|---|
| Apply-Timing | off, atBackground, atInstall, onLaunch, always, onlyDownload |
| Verzögerungsbedingungen | date, background, nativeVersion, kill |
| Versionsblockade | none, major, minor, patch, metadata |
| Auslieferung | Vollständiges Bundle, Delta |
Ähnliche Themen
Abschnitt mit dem Titel „Ähnliche Themen“- Update-Verhalten — Anwendungstiming und Verzögerungen konfigurieren
- Version-Targeting — Kanalbasierte Versionssteuerung
- Delta-Updates — Nur geänderte Dateien herunterladen
- Kanäle — Channel-Konfiguration und Vorrang
Weiter mit Update-Typen
Abschnitt mit dem Titel „Weiter geht’s mit Update Types“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.