Zum Inhalt springen

Update-Typen

Capgo unterstützt mehrere Arten von über die Luft (OTA) Updates. Diese Seite listet und erklärt alle davon, damit Sie die richtige Combination für Ihre App wählen können.

Steuerung wenn ein Update angewendet wird, nachdem es heruntergeladen wurde.

TypBeschreibungAnwendungsfall
autoUpdate: atBackgroundHerunterladen im Hintergrund, anwenden, wenn der Benutzer die App in den Hintergrund stellt oder sie beendet.Die meisten Apps; minimale Störung
autoUpdate: atInstallSofort anwenden, nur bei frischer Installation oder App-Store-UpdateNeue Benutzer erhalten das neueste; bestehende Benutzer verwenden den Standard-Flow
autoUpdate: onLaunchSofort an der Installation, beim Speichern der Aktualisierung oder nach App-Beendigung anwendenBalance zwischen Aktualität und Sitzungsstabilität
autoUpdate: alwaysSofort anwenden, sobald eine Aktualisierung heruntergeladen wird (einschließlich bei Wiederanfang)Kritische Fixes, Apps mit einfacher Zustandsanzeige
autoUpdate: onlyDownloadAutomatisch herunterladen und ausgeben, updateAvailableaber nie automatisch anwenden oder die nächste Bundle setzenApps, die ihre eigene Aktualisierungsanzeige anzeigen oder genau bestimmen, wann aufgerufen wird 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 eine Aktualisierung installiert wird. Verwenden Sie setMultiDelay um sie kombinieren (alle Bedingungen müssen erfüllt sein).

BedingungBeschreibungBeispiel
DatumWarten, bis nach einem bestimmten Datum/UhrzeitKoordinieren Sie sich mit der Server-Seitigen Veröffentlichung
HintergrundWarten Sie eine Mindestdauer (ms) nachdem die App im Hintergrund geschaltet wurdeVermeiden Sie die Anwendung während schneller App-Wechsel
nativeVersionErhalten Sie eine Mindestversion des native BinärsBlockieren Sie Updates auf inkompatiblen native code
killWarten Sie, bis zum nächsten App-TötungsereignisNur auf 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' },
],
});

Bestimmt, welche semver-Updates ein Kanal automatisch liefern wird. Über --disable-auto-update auf Kanälen festgelegt.

StrategieBlöckeErmöglichtAnwendungsbereich
keineNichtsJede ZielbündelversionStandard; Vollautomatik-Update
Höherer Major alsZum Beispiel version_buildSelbst gleicher Major, zum Beispiel 1.2.3 -> 2.0.0für beispielsweise 1.2.3 -> 1.9.0 oder 1.2.3 -> 1.2.4Verhindern Sie, dass Änderungen, die die Kompatibilität beeinträchtigen, auf alte native code
kleinVerschiedene Haupt- oder Versionsnummer als version_buildzum Beispiel 1.2.3 -> 1.3.0Selbe Haupt- und Versionsnummer, zum Beispiel 1.2.3 -> 1.2.4Halten Sie Updates innerhalb einer native Versionslinie
PatchJede Änderung der Haupt-, Versions- oder Patchnummer, 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.2Striktster Modus: keine Versionsbewegung der Kernkomponente
MetadatenFehlend min_update_version, oder version_build unter ihrZielpaket, dessen min_update_version ist kleiner als oder gleich version_buildEigene Kompatibilitätsregeln pro Paket

Diese Überprüfungen vergleichen das Zielpaket mit der native Baseline, die als version_build, nicht mit dem derzeit installierten heruntergeladenen Paket, das als version_name.

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

Wie das Bündel übertragen wird zum Gerät.

TypBeschreibungWann zu verwenden
VollbundleGesamter JS-Bundle wird heruntergeladenZuerst installieren, große Änderungen oder wenn Delta nicht verfügbar ist
Delta (Manifest)Nur geänderte Dateien werden heruntergeladenMeisten Updates; schneller und bandbreitenfreundlich
Terminalfenster
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta

Quick Reference

Schnellreferenz
KategorieTypen
Anwendungszeitpunktoff, atBackground, atInstall, onLaunch, always, onlyDownload
Verzögerungskriteriendate, background, nativeVersion, kill
Versionsblockierungnone, major, minor, patch, metadata
LieferungVollbundle, Delta (Manifest)

Wenn Sie "Update-Typen" verwenden, um die Live-Update-Übermittlung zu planen, verbinden Sie es mit Live-Updates von Capgo für den Produktworkflow in Live-Updates von Capgo, Capgo Live Updates for the product workflow in Capgo Live Updates, Funktionen — Channel configuration and precedence Keep going from Update Types für die Implementierungsdetails in Features, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, und Einstieg für die Implementierungsdetails in Einstieg.