Veränderungen mit Auswirkungen auf die Kompatibilität
Einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
Diese Dokumentation erklärt, wie Sie bei Bruchänderungen in Ihrer App mit versionierten Kanälen umgehen können. 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“Angenommen, Sie haben:
- App-Version 1.2.3 (alte Version) - verwendet Produktionskanal
- App-Version 2.0.0 (neue Version mit wichtigen Änderungen) - 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 sichert dir, dass du immer Updates an bestimmte Benutzergruppen pushen kannst, ohne dich auf dynamische Kanalzuweisungen zu verlassen.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Erstellen Sie einen Kanal für die neue Version
Abschnitt mit dem Titel „1. Erstellen Sie einen Kanal für die neue Version“# Create channel for version 2.xnpx @capgo/cli channel create v22. Aktualisieren Sie die Capacitor-Konfiguration für Version 2.0.0
Abschnitt mit dem Titel „2. Aktualisieren Sie die Capacitor-Konfiguration für Version 2.0.0“Aktualisieren Sie Ihre Capacitor-Konfiguration, bevor Sie 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;3. Verwalte separate Code Branches
Abschnitt mit dem Titel „3. Verwalte separate Code Branches“Erstellen Sie separate Git-Branches, um die Kompatibilität zwischen Anwendungsversionen aufrechtzuerhalten:
# 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 mainWichtig: Vermeiden Sie es, JavaScript-Bundles an ältere Apps zu pushen, die native code/APIs nicht unterstützen. Bauen Sie immer Updates von dem entsprechenden Branch aus:
- v1-Wartungs-Branch: Für Updates an 1.x-Apps (Produktionskanal)
- Haupt-Branch: Für Updates an 2.x-Apps (v2-Kanal)
4. Bundles hochladen in die jeweiligen Kanäle
Abschnitt mit der Überschrift „4. Bundles hochladen in 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 der Überschrift „5. Selbstzuweisung aktivieren“# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assignHinweis
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 } }};Jetzt können Sie Updates für jede Version pushen:
productionKanal → Version 1.x-Benutzerv2Kanal → Benutzer der Version 2.xv3Kanal → Benutzer der 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 Kanal v2:
npx @capgo/cli channel delete v2- Löschen Sie den Zweig v1-maintenance:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceStellen Sie Updates immer gründlich in jedem Kanal vor der Bereitstellung auf die Probe
Erhaltung von Updates für Version 1.x
Abschnitt mit dem Titel „Erhaltung von Updates für Version 1.x“Um Updates abzusenden, die mit Version 1.x kompatibel sind:
- Wechseln Sie auf den v1-maintenance-Zweig:
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 auf den Produktionskanal hochladen:
npx @capgo/cli bundle upload --channel production