Zum Hauptinhalt springen
Tutorial

Capgo Umgebungsbest Practices: Staging mit einem Mobilgerät-App-ID

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

Martin Donadieu

Martin Donadieu

Content Marketer

Capgo Umgebungsbest Practices: Staging mit einem Mobilgerät-App-Id

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

  1. Zwei App-IDs (Produktion + Vorkonfiguration)
  2. Ein App-Id + dynamische Laufzeitumgebungsswitching
  3. Ein 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.

Warum duplizierte App-IDs lästig werden

Mit com.myapp und com.myapp.beta erscheint einfach, aber man bekommt schnell Duplikate:

  • Zwei Releasepipelines
  • Zwei Sätze von Push-IDs, tiefen Links und Berechtigungszuordnungen
  • Zwei Analytics- und Crash-Identitäten
  • Konfigurationen divergieren und das Verhalten zwischen Umgebungen ist inkonsistent

Man muss zwei Produkte über Store-Konsolen, Teams und interne QA-Anweisungen verwalten.

Weshalb die Konfiguration bei Laufzeit oft verworren ist

Das Muster 'eine App-ID + Laufzeit-Switch' bedeutet normalerweise, dass die App bei Start-Up Umgebungsvariablen oder Flags liest und APIs, Schlüssel und Updateverhalten dynamisch umleitet.

Dies funktioniert, bis:

  • Die QA-Abteilung umgeht die beabsichtigten Flows, weil die Konfigurationszustände veraltet sind
  • Jemand verwendet den falschen Endpunkt in der Produktion
  • Umweltverschiebungen verursachen schwierig zu reproduzierende Bugs
  • Sie müssen auf einem Gerät des Benutzers den Fehler “was ist die Konfigurationsversion dieser Binärdatei?” beheben.

Diese Komplexität wächst mit jeder Veröffentlichung und ist dort, wo sich Teams in der Geschwindigkeit verlangsamen.

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

Capgo macht die Umgebungssteuerung explizit durch Kanäle:

  • Behalten Sie eine Produktions-App-ID in App Store / Play bei.
  • Verschicken Sie eine native Binärdatei für die “Shell” (bis native Änderungen eine wahre Rebuild erfordern).
  • Routen Sie das Verhalten durch Kanäle, nicht durch duplizierte App-Identität.

In der Praxis bedeutet dies:

  • productionalle Benutzer
  • staginginternes QA und Release-Kandidaten
  • betaeingeladene Tester
  • hotfixNotfall-Patch-Track

Ihr TestFlight/Play-Internentest-App bleibt für immer bestehen. Sie können JS/CSS/Asset-Updates dort wiederholt durch __CAPGO_KEEP_0__ durchführen, ohne eine neue native App zu veröffentlichen. staging forever. You do JS/CSS/asset updates there repeatedly through Capgo without publishing a new native app.

Ihr letzter native Binary bleibt für viele JS-Iterationen gleich:

Sie bauen nur den native Binary neu, wenn Sie tatsächlich den native Oberflächenbereich geändert haben.

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

2) Verwenden Sie dedizierte Kanäle für Umgebungen

Veröffentlichen Sie Updates mit Kanälen:

Testen Sie auf QA, beheben Sie Probleme, dann promoten Sie:

bun run build
bunx @capgo/cli deploy --channel staging

Wenn Sie explizite Versionsnummern bevorzugen:

bunx @capgo/cli promote vX.Y.Z --channel production

3) Halten Sie TestFlight 'immer pre-prod'

bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production

In iOS-Workflows bedeutet dies, dass Ihre TestFlight-Build mit pre-produktiven Updates verbunden bleiben kann:

In iOS workflows, this means your TestFlight build can stay associated with pre-production updates:

  • No häufige native Einreichungen für jede JS-Änderung.
  • Die QA-Abteilung validiert immer wieder die nahezu Produktions-code über den Staging-Kanal.
  • Produktionsbenutzer erhalten nur die von der Produktion kanalisierten Pakete.

4) Verwenden Sie die 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 aus der Dashboard und wechseln nur den Kanal für interne Benutzer, nicht für alle Kunden.

Betriebscheckliste

  • Eine App-ID nur (keine Duplikate von Produktions-/Staging-IDs)
  • Eine Basisnative Build Pipeline
  • Kanalzuweisungen dokumentiert (staging, beta, production, hotfix)
  • Die Promotion-Route wird in CI/CD erzwungen
  • Native rebuild nur bei echten native Änderungen
  • Regelmäßig getesteter Rollback

Praktischer Nutzen

Diese Vorgehensweise entfernt Umgebungsdrift, reduziert die Build-Churn und beschleunigt die Fixes:

  • Die QA erhält realistische Binärcode (kein fiktiver „Staging-App“-Identität),
  • Ihr TestFlight-Weg bleibt stabil,
  • Ihr Team vermeidet das „zwei App-ID-Debt“,
  • Sie können viele JS-nur-Fixes durch Capgo schnell durchführen.

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

Fortsetzen Sie von Capgo Umgebungsbest Practices: Staging mit einer mobilen App-ID

Wenn Sie Capgo Umgebungsbest Practices: Staging mit einer mobilen App-ID zum Planen der Kanalroutung und der gestuften Veröffentlichung verwenden, verbinden Sie es mit Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Beta-Testlösung für den Produktworkflow in Beta-Testlösung, und Versionziel-Lösung für den Produktworkflow in Versionziel-Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung vorliegt. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's

Neuestes aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.