Bruchänderungen
Kopieren Sie einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin.
Diese Dokumentation erklärt, wie man bei Änderungen in der App mit versionierten Kanälen umgeht. Diese Vorgehensweise ermöglicht es Ihnen, verschiedene Versionen Ihrer App zu pflegen, während sichergestellt wird, dass Benutzer kompatible Updates erhalten.
Beispiel Szenario
Abschnitt mit dem Titel „Beispiel Szenario”Lassen Sie sich vorstellen:
- App-Version 1.2.3 (alte Version) - verwendet Produktionskanal
- App-Version 2.0.0 (neue Version mit Änderungen, die den Code brechen) - verwendet v2-Kanal
- Live-Update 1.2.4 (kompatibel mit 1.2.3)
- Live-Update 2.0.1 (kompatibel mit 2.0.0)
Strategie: Verwende immer defaultChannel für Hauptversionen
Abschnitt mit dem Titel „Strategie: Verwende immer defaultChannel für Hauptversionen”Empfohlener Ansatz: Setze ein defaultChannel für jede Hauptversion. Dies stellt sicher, dass Sie immer Updates an bestimmte Benutzergruppen pushen können, ohne auf dynamische Kanalzuweisung angewiesen zu sein.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Kanal für neue Version erstellen
Abschnitt mit dem Titel „1. Kanal für neue Version erstellen“# Create channel for version 2.xnpx @capgo/cli channel create v22. Capacitor-Konfiguration für Version 2.0.0 aktualisieren
Abschnitt mit dem Titel „2. Capacitor-Konfiguration für Version 2.0.0 aktualisieren“Aktualisieren Sie Ihre Capacitor-Konfiguration, bevor Sie die Version 2.0.0 für den App Store erstellen:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;Abschnitt mit dem Titel "3. Verwalten Sie separate Code-Zweige"
Section titled “3. Manage Separate Code Branches”Terminalfenster
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainStellen Sie sicher, dass Sie keine JavaScript-Bundles an ältere Apps pushen, die native __CAPGO_KEEP_0__/APIs erwarten, die sie nicht haben. Bauen Sie immer Updates von dem entsprechenden Zweig aus: Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- v1-Wartezweig: Für Updates auf 1.x Apps (Produktionskanal)
- Hauptzweig: Für Updates auf 2.x Apps (v2-Kanal)
4. Upload-Bundles auf die jeweiligen Kanäle
Abschnitt mit dem Titel “4. Upload-Bundles auf die jeweiligen Kanäle”# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. Selbstzuweisung aktivieren
Abschnitt mit dem Titel “5. Selbstzuweisung aktivieren”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Auf dem App Store bereitstellen
Abschnitt mit dem Titel “6. In die App Store veröffentlichen”Version 2.0.0 zum App Store bereitstellen. Alle Benutzer, die diese Version herunterladen (ob neue Benutzer oder bestehende Benutzer, die aktualisieren), werden automatisch die v2-Kanal verwenden, da er im App-Bundle konfiguriert ist.
Skalierung für zukünftige Versionen
Abschnitt mit dem Titel “Skalierung für zukünftige Versionen”Wenn Sie Version 3.0.0 mit mehreren Änderungen veröffentlichen:
# Create channel for version 3.xnpx @capgo/cli channel create v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};Sie können nun Updates für jede Version pushen:
productionKanal → Benutzer von Version 1.xv2Kanal → Benutzer von Version 2.xv3Kanal → Benutzer von Version 3.x
7. Reinigung (Nach der Migration)
Abschnitt mit dem Titel „7. Reinigung (Nach der Migration)“Nachdem alle Benutzer auf Version 2.x migriert sind (ca. 3-4 Monate):
- Löschen
defaultChannelaus Ihrer Capacitor-Konfiguration - Löschen Sie den v2-Kanal:
npx @capgo/cli channel delete v2- Löschen Sie den v1-Wartungsbranch:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceTesten Sie Updates immer gründlich in jedem Kanal vor der Bereitstellung
Wartung von Version 1.x-Updates
Sektion mit dem Titel „Aktualisierungen für Version 1.x“Um Aktualisierungen für Version 1.x zu senden:
- Wechseln Sie zur v1-maintenance-Branche:
git checkout v1-maintenance- Machen Sie Ihre Änderungen und committen Sie:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Bauen und hochladen in den Produktionskanal:
npx @capgo/cli bundle upload --channel productionWeitermachen von Breaking Changes
Abschnitt mit dem Titel “Weitermachen von Breaking Changes”Wenn Sie Breaking Changes zur Planung von Kanalrouting und staged Rollout verwenden, verbinden Sie es mit Channels für die Implementierungsdetails in Channels, Channels für die Implementierungsdetails in Channels, Channels für die Implementierungsdetails in Channels, Beta-Testlösung für den Produktworkflow in Beta-Testlösung, und Versionziel-Lösung für den Produktworkflow in Versionziel-Lösung.