Zum Hauptinhalt springen
Capgo Logo
Anleitung

Capgo Umgebungsbest Practices: Staging mit einem Mobile App ID

Ein praktischer Leitfaden, um duplizierte App-IDs und fragile Laufzeitflags zu vermeiden, indem Sie Capgo-Kanäle für Staging, QA und Produktion in Capacitor-Apps verwenden.

Verfasserangaben

Martin Donadieu

Schreiber

Valeria

Rezensent

Jordan

Redakteur

Capgo Umgebungsbest Practices: Staging mit einer mobilen App-ID

Teams wählen normalerweise eine von drei Ansätzen für mobile Umgebungen:

  1. Zwei App-IDs (Produktion + Vorproduktion)
  2. Eine App-ID + dynamische Laufzeitumgebungsswitching
  3. Eine App-ID + Capgo Kanäle

Die ersten beiden können funktionieren, aber sie erzeugen langfristige Reibung. In realen Teams ist das Capgo Kanalmodell normalerweise das sauberste.

Werden duplizierte App-IDs lästig

Verwenden com.myapp und com.myapp.beta Seems einfach, aber Sie erhalten schnell Duplikate:

  • Zwei Release-Pipelines
  • Zwei Satz von Push-IDs, tiefen Links und Berechtigungszuordnungen
  • Zwei Analytics- und Crash-Identitäten
  • Konfigurationen, die sich unterscheiden und unvorhersehbares Verhalten zwischen Umgebungen

Sie müssen zwei Produkte über den Store-Konsolen, Teams und internen QA-Anweisungen verwalten.

Warum die Konfiguration bei Laufzeitwechseln oft verworren ist

Das Muster 'eine App-ID + Laufzeit-Switch' bedeutet, dass Ihre App Umgebungsvariablen oder Flags bei der Startzeit liest und APIs, Schlüssel und Update-Verhalten dynamisch umleitet.

Dies funktioniert, bis:

  • Die QA-Abteilung umgeht die vorgesehenen Flüsse, weil die Konfigurationszustände veraltet sind
  • Jemand verwendet den falschen Endpunkt in der Produktion
  • Der Umgebungsdrift verursacht schwierig zu reproduzierende Fehler
  • Sie müssen auf einem Benutzergerät 'welche Konfigurationsversion wird diese Binärdatei verwendet?' debuggen.

Die Komplexität wächst mit jeder Veröffentlichung und ist dort, wo Teams an Geschwindigkeit verlieren.

Die Capgo-Methode: eine App-ID, viele Kanäle

Capgo macht die Kontrolle der Umgebungen 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 Kanäle, nicht durch duplizierte App-Identitäten.

In der Praxis bedeutet dies:

  • production: Alle Benutzer
  • staging: interne QA und Release-Kandidaten
  • beta: eingeladene Tester
  • hotfix: Notfall-Patch-Track

Ihr TestFlight/Play-App für interne Tests kann weiterhin auf staging ewig. Sie führen JS/CSS/Asset-Updates dort wiederholt durch Capgo ohne eine neue native App zu veröffentlichen.

1) Basis für native Veröffentlichung

Ihr letzter native Binärstays bleibt gleich für viele JS-Iterationen:

bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual

Sie bauen nur die native Binärdatei neu, wenn Sie tatsächlich den native Oberflächenbereich 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 auf QA, Probleme beheben, dann promotieren:

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-prod-Updates verbunden bleiben kann:

  • Keine häufigen native Submissionen für jede JS-Änderung.
  • QA überprüft immer nahe am Produktionsumfeld code über den Staging-Kanal.
  • Produktionsnutzer erhalten nur die in der Produktionskanal aufgeführten Pakete.

4) Verwenden Sie den Kanalwechsel nur für kontrollierte Workflows.

Für fortgeschrittene Teams: Exponieren Sie 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

  • Eine App-ID pro Anwendung (keine Duplikate von Produktions- und Staging-IDs)
  • Eine Basisnative Build-Pipeline
  • Kanalzuweisungen dokumentiert (staging, beta, production, hotfix)
  • Die Promotion-Route wird in CI/CD durchgesetzt
  • Erneuerung der Native-Builds nur bei echten Native-Änderungen
  • Regelmäßige Rückgängigmachung getestet

Praktische Vorteile

Dieser Ansatz entfernt den Umgebungsdrift, reduziert die Build-Churn und beschleunigt die Fixes:

  • Die QA erhält realistische Binärdateien (keine fiktiven "Staging-App"-Identitäten)
  • Dein TestFlight-Path bleibt stabil
  • Dein Team vermeidet "Zwei-App-ID-Schulden"
  • Du kannst viele JS-nur-Fixes durch Capgo schnell durchführen

Das Ergebnis ist eine einfachere Governance: weniger Artefakte, saubere Telemetrie und weniger Überraschungen in der Release-Operation

Gehe weiter von Capgo Umgebungsbest Practices: Staging mit einem mobilen App-ID

Wenn Sie Capgo verwenden Capgo Umgebungshandbuch: Staging mit einem Mobile App ID um Planung der Kanalroutings und der rollierenden Stufenauslieferung zu verbinden Channels für die Implementierungsdetails in den Kanälen Kanäle für die Implementierungsdetails in den Kanälen Kanäle für die Implementierungsdetails in den Kanälen Beta-Testlösung für das Produktworkflow in der Beta-Testlösung und Version Targeting Solution für das Produktworkflow in der Versionziel-Lösung

Live-Updates für Capacitor-Apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Menschliche Unterstützung von Martin

Capgo gives you the best insights you need to create a truly professional mobile app.