Teams wählen normalerweise eine der drei Ansätze für mobile Umgebungen:
- Zwei App-IDs (Produktion + Vorproduktion)
- Eine App-ID + dynamische Umgebungswechsel
- Eine App-ID + Capgo-Kanäle
Die ersten beiden können funktionieren, aber sie erzeugen langfristige Reibungsverluste. In realen Teams ist das Capgo-Kanalmodell normalerweise das sauberste.
Weshalb duplizierte App-IDs lästig werden
Verwenden com.myapp und com.myapp.beta erscheint einfach, aber Sie erhalten schnell Duplikate:
- Zwei Release-Pipelines
- Zwei Satze von Push-IDs, tiefen Links und Berechtigungszuordnungen
- Zwei Analytics- und Crash-Identitäten
- Divergierende Konfiguration und inkonsistente Verhaltensweise zwischen Umgebungen
Sie müssen zwei Produkte über Verkaufskonsolen, Teams und interne QA-Anweisungen verwalten.
Weshalb die Konfiguration bei Laufzeit oft verworren ist
Das Muster 'eine App-ID + Laufzeitumschaltung' bedeutet normalerweise, dass Ihre App Umgebungsvariablen oder Flags bei der Startzeit liest und APIs, Schlüssel und Aktualisierungsverhalten dynamisch umleitet.
Dies funktioniert, bis:
- Die QA-Abteilung umgeht die beabsichtigten Flüsse, weil die Konfigurationszustände veraltet sind.
- Jemand verwendet die falsche Endpunkt in der Produktion.
- Umweltverschiebungen verursachen schwierig zu reproduzierende Fehler.
- Sie müssen auf einem Benutzergerät 'welche Konfigurationsversion wird diese Binärdatei verwendet?' debuggen.
Diese Komplexität wächst mit jedem Release und ist dort, wo Teams an Geschwindigkeit verlieren.
Die Capgo-Methode: Eine App-ID, viele Kanäle
Capgo macht die Umgebungssteuerung explizit durch Kanäle:
- Halten Sie eine Produktions-App-ID in App Store / Play.
- Versenden Sie eine native Binärdatei für die „shell“ (bis native Änderungen eine wahre Rekonstruktion erfordern).
- Routen Sie das Verhalten durch Kanal, nicht durch duplizierte App-Identität.
In der Praxis bedeutet dies:
production: Alle Benutzerstaging: interne QA und Release-Kandidatenbeta: eingeladene Testerhotfix: Notfall-Patch-Track
Ihr TestFlight/Play-Intern-Test-App kann auf staging forever.
Sie führen JS/CSS/Vorratsaktualisierungen dort wiederholt durch Capgo ohne eine neue native App zu veröffentlichen.
Empfohlene Struktur in der Praxis
1) Native Release-Baseline
Ihr letzter natives Binär bleibt für viele JS-Iterations gleich:
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
Sie müssen nur die natives Binär neu erstellen, wenn Sie tatsächlich die natives Oberfläche geändert haben.
2) Verwenden Sie dedizierte Kanäle für Umgebungen
Veröffentlichen Sie Updates mit Kanälen:
bun run build
bunx @capgo/cli deploy --channel staging
Testen Sie auf QA, beheben Sie Probleme, dann promoten Sie:
bunx @capgo/cli promote vX.Y.Z --channel production
Wenn Sie explizite Versionsnummern bevorzugen:
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
3) Halten Sie TestFlight “immer pre-prod”
In iOS-Workflows bedeutet dies, dass Ihre TestFlight-Build mit pre-produktiven Updates verbunden bleiben kann:
- Keine häufigen natives Einreichungen für jede JS-Änderung.
- QA validiert immer nahe an der Produktion code über den Staging-Kanal.
- Produktionsbenutzer erhalten nur die promoteten Produktionskanal-Pakete.
4) Verwenden Sie Kanalwechsel nur für kontrollierte Workflows.
Für fortgeschrittene Teams: Expose kontrollierte Kanalwechsel für QA/Admin-Benutzer:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setChannel({
channel: 'staging',
triggerAutoUpdate: true
});
Dies ist optional. Die meisten Teams verwenden Kanalzuweisungen vom Dashboard und wechseln den Kanal nur für interne Benutzer, nicht für alle Kunden.
Betriebscheckliste
- Nur ein App-ID (keine Duplikate von Produktions- und Staging-IDs)
- Eine Basisnative Buildpipeline
- Kanalzuweisungen dokumentiert (
staging,beta,production,hotfix) - Promotionspfad in CI/CD gesetzt
- Nur native Rebuild bei echten native Änderungen
- Regelmäßige Rückgängigmachung getestet
Praktischer Nutzen
Diese Vorgehensweise entfernt Umgebungsdrift, reduziert Build-Churn und beschleunigt Reparaturen:
- QA erhält realistische Binärdateien (keine fiktiven "Staging-App"-Identitäten),
- Ihr TestFlight-Pfad bleibt stabil.
- Ihr Team vermeidet das "Zwei-App-ID-Problem".
- Sie können viele JS-schonende Fixes über Capgo schnell durchführen.
Das Ergebnis ist eine einfache Governance: weniger Artefakte, saubere Telemetrie und weniger Überraschungen bei der Release-Verwaltung.
Weiterhin aus Capgo Umgebungsbest Practices: Staging mit einem mobilen App-ID
Wenn Sie verwenden Capgo Umgebungsbest Practices: Staging mit einem mobilen App-ID um das Kanalrouting und die gestufte Rollout zu planen, verbinden Sie es mit Kanälen für die Implementierungsdetails in Kanälen Kanälen für die Implementierungsdetails in Kanälen Kanäle zur Implementierungsdetail in Kanäle, Testlösung für Beta-Phase zur Produktworkflow in Testlösung für Beta-Phase, und Zielsystemlösung für Version zur Produktworkflow in Zielsystemlösung für Version.