Zum Hauptinhalt springen

So führen Sie OTA-Updates für CapacitorJS-Apps richtig durch

Erfahren Sie, wie Sie CapacitorJS- und Electron-Apps mit Capgo OTA-aktualisieren. Dieser praktische Leitfaden behandelt Setup, Signing, Channels, CI/CD, Testing und Rollback.

So führen Sie OTA-Updates für CapacitorJS-Apps richtig durch

Sie finden am Freitagnachmittag eine Checkout-Regression. Der Fix ist bereits in Ihrer Capacitor Web-Schicht, aber das App-Store-Review-Fenster schließt sich erst in drei Tagen. Android-Nutzer können zwar schneller ein neues Paket erhalten, doch alle Kunden zu zwingen, für eine reine JavaScript-Korrektur einen Native Build neu zu installieren, ist trotzdem Verschwendung.

Das ist der praktische Grund, warum Teams lernen, wie man CapacitorJS-Apps OTA-aktualisiert. Eine kontrollierte Over-the-Air-Veröffentlichung kann ein signiertes Web-Bundle an geeignete installierte Binaries liefern, es im Hintergrund herunterladen und beim nächsten Start anwenden, während native Änderungen weiterhin dem Store-Prozess folgen. Der schwierige Teil ist nicht das Hochladen einer Datei. Es geht darum, Version-Targeting, Signing, Rollout-Kontrolle, Observability und Recovery über eine Live-Flotte hinweg abzustimmen.

Inhaltsverzeichnis

Warum OTA für CapacitorJS-Teams entscheidend ist

Eine Capacitor App besteht meist aus zwei Release-Ebenen. Das native Binary enthält die Plattform-Shell, Berechtigungen, Plugins, Icons, Entitlements und andere vom Store geprüfte Funktionen. Der Web-Layer enthält JavaScript, CSS, HTML, Routing, Texte und Assets. OTA-Updates adressieren die zweite Ebene, sodass Teams einen fehlerhaften Checkout-Flow korrigieren können, ohne die native Shell neu zu bauen – vorausgesetzt, die Änderung bleibt innerhalb der Plattform- und Store-Richtlinien, wie in der Capgo OTA-Anleitung beschrieben..

Ein Diagramm, das die Bedeutung von OTA-Updates verdeutlicht, indem es Store-Verzögerungen mit sofortigen Fixes vergleicht.

Der praktische Nutzen geht über die reine Geschwindigkeit hinaus. Installierte Binaries laufen nicht im Gleichschritt. Einige Kunden nutzen einen älteren nativen Build, andere eine aktuelle Store-Version, und jedes Binary kann unterschiedliche native APIs für das Web-Bundle bereitstellen. Ein Bundle, das gegen ein nicht unterstütztes natives API kompiliert wurde, kann fehlschlagen, selbst wenn der JavaScript-Diff gültig ist. Das macht OTA zu einem Kompatibilitätssystem, nicht zu einer Abkürzung für Release Engineering.

Behandle den Updater als Delivery-Pipeline

Ein Production-Setup braucht eine klare Reihenfolge:

  1. Die native Bridge installieren: Das Updater-Package hinzufügen und Capacitor synchronisieren, damit iOS und Android davon wissen.
  2. Das Bundle signieren: Halte Signing-Material außerhalb des Repositories und mache die Verifizierung zum Teil des Client-Pfads.
  3. Einen Channel ansteuern: Steuern Sie Staging-, Beta-, Produktions- oder kundenspezifische Kohorten gezielt.
  4. Automatisieren Sie die Auslieferung: Lassen Sie CI bauen, signieren, hochladen und nur nach bestandenen Tests promoten.
  5. Beobachten Sie die Adoption: Verfolgen Sie Download-, Installations-, Boot-, Crash- und Health-Signale nach Channel und Binary.
  6. Rollback schnell durchführen: Stelle serverseitig ein bekanntes, funktionierendes Bundle wieder her und behalte den clientseitigen Recovery-Schutz bei.

Capgo ist eine Option für diesen Workflow. Sein Open-Source-Capacitor-Updater und Cloud-Dienst veröffentlichen signierte Web-Bundles in gezielten Channels, wenden sie beim nächsten Start an und stellen Versions- und Geräteauslieferungsinformationen bereit. Teams, die Verfügbarkeit und Release-Resilienz bewerten, können auch prüfen App-Verfügbarkeit für Capacitor-Anwendungen.

Praktische Regel: Wenn du nicht identifizieren kannst, auf welches native Binary ein Bundle abzielt, fördere dieses Bundle nicht in die Produktion.

OTA ist erfolgreich, wenn es unnötige Store-Releases reduziert, ohne die Grenze zwischen Web code und nativem code zu verwischen. Die Frage ist nicht, ob dein Team ein Bundle pushen kann. Sondern: Kannst du erklären, wer es erhalten hat, warum er qualifiziert war, was nach dem Launch passiert ist und wie du den Dienst wiederherstellst, wenn das Bundle fehlerhaft ist?

Voraussetzungen und Installation des Capgo Updaters

Bevor du ein Terminal öffnest, stelle sicher, dass Projekt und Release-Konten bereit sind. Du brauchst eine Capacitor 5- oder 6-Anwendung mit @capacitor/cli initialisiert, Node 18 oder neuer, aktiven Apple Developer- und Google Play Console-Konten für die Ziel-Binaries und einem Capgo Cloud-Konto mit einem appId und API Schlüssel.

Die erste Installation ist bewusst klein:

npm install @capgo/capacitor-updater
npx cap sync
npx @capgo/cli init

npm install fügt das JavaScript-Paket und die native Abhängigkeit hinzu. npx cap sync ist der Schritt, den Leute überspringen, und genau das lässt die native Bridge unverbunden. Die JavaScript-Schicht kann kompilieren, während die Runtime später eine Bridge aufruft, die im installierten Binary nicht vorhanden ist. Führe die Synchronisation nach der Installation aus und erneut, wenn sich die native Plugin-Konfiguration ändert.

Der Initializer patcht deine capacitor.config.ts mit den Updater-Einstellungen, dem Web-Endpoint und dem Standard-Channel. Nimm den Patch nicht blind hin. Öffne die Datei und verifiziere die Anwendungsidentität und den Update-Vertrag explizit:

const config: CapacitorConfig = {
  appId: 'com.example.app',
  appName: 'Example',
  version: '1.0.0',
  autoUpdate: true,
  updateUrl: '',
  capgo: {
    channel: 'staging'
  }
}

Die exakt generierte Struktur kann je nach Projekt und CLI-Version variieren, aber die wichtigen Werte sind dieselben. appId muss mit dem installierten Binary übereinstimmen, version muss die Beziehung zum Native Build beschreiben, autoUpdate muss deine Launch-Policy widerspiegeln, updateUrl muss auf den Dienst verweisen, dem deine Binary vertraut, und der capgo Block muss den initialen Channel identifizieren.

Vor dem Release-Build verifizieren

Führe den Diagnosebefehl aus, bevor du Xcode oder Android Studio öffnest:

npx @capgo/cli doctor

Ein sauberes Ergebnis sollte bestätigen, dass CLI verfügbar ist, die Projektkonfiguration lesbar ist, das Updater-Package erkannt wird, die erforderlichen App-IDs vorhanden sind und die Authentifizierung das konfigurierte Konto erreichen kann. Es sollte keinen fehlenden Native Sync, keine fehlende App-Identität und keine ungültige Updater-Konfiguration melden.

Screenshot von https://capgo.app/docs/img/cli-doctor.png

Halte den ersten Native Build bewusst langweilig. Installiere ihn auf einem physischen iOS-Gerät und einem Android-Gerät, starte ihn mit Netzwerkzugriff, schließe und öffne ihn erneut und bestätige, dass der Updater prüfen kann, ohne den normalen Startup-Pfad zu beeinflussen. Der Capacitor Updater-Installations-Workflow ist hilfreich, um die Projektkonfiguration mit dem erwarteten Plugin-Setup zu vergleichen.

Dein erstes OTA Bundle sicher deployen

Betrachte das erste Bundle als Test des Release-Pfads, nicht als Feature-Launch. Erstelle oder rotiere den Signing-Key, bevor du das Artefakt vorbereitest:

npx @capgo/cli key create

Speichern Sie den privaten Schlüssel in einem Secrets-Manager. Commiten Sie ihn nicht, speichern Sie ihn nicht in einem Projektarchiv und exponieren Sie ihn nicht in der CI-Ausgabe. Der native Trust-Pfad benötigt das öffentliche Verifikationsmaterial. Nur der Signing-Job sollte auf den privaten Schlüssel zugreifen.

Ändern Sie die JavaScript-seitige Version in package.json oder Ihren Web-Release-Metadaten. Lassen Sie die nativen Versionsfelder für ein web-only-Fix unverändert. Ein OTA-Bundle kann keine nativen code hinzufügen oder die vom installierten Binary deklarierten Capabilities ändern. Eine Änderung der nativen Version würde die Kompatibilität eher verschleiern als verbessern.

Laden Sie das signierte Artefakt in den vorgesehenen Channel hoch:

npx @capgo/cli bundle upload --channel production

Ein erfolgreicher Upload bestätigt nur, dass der Server eine Anfrage akzeptiert hat. Lesen Sie die Command-Ausgabe und verifizieren Sie die Bundle-Identifikator, die Ziel-Native-Version-Constraint, die signierte Checksumme und die Channel-Zuordnung. Diese Felder identifizieren das Artefakt und zeigen, ob installierte Binaries berechtigt sind, es zu empfangen.

Das Dashboard als Release Gate nutzen

Die Bundle-Detail-Ansicht sollte vier Release-Fragen klären:

  • Minimale Native-Version: Welches älteste Binary kann dieses Bundle ausführen?
  • Maximale native Version: Welche neueren Binaries werden bewusst ausgeschlossen?
  • Channel: Welches Publikum kann das Artefakt entdecken?
  • Rollout-Prozentsatz: Wie viel von diesem berechtigten Publikum kann es erhalten?

Produktionsaussetzung starten bei 5%, dann die für die Ausweitung erforderlichen Beweise definieren. Prüfe Download- und Installationserfolg, normale Cold Starts, crashfreie Sessions und JavaScript-Fehler im geänderten Flow. Halte die Artefaktidentität und die Lieferungssteuerungen im Capgo-Dashboard gemeinsam sichtbar.

Screenshot von https://capgo.app/docs/img/bundle-detail.png

Verwende einen Debug-Build, um den Gerätepfad zu testen. getCurrent() meldet den aktiven Bundle, und notifyAppReady() bestätigt, dass der neue Bundle einen gesunden Zustand erreicht hat:

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const current = await CapacitorUpdater.getCurrent()
console.log(current)

await CapacitorUpdater.notifyAppReady()

Rufe Readiness erst auf, wenn die App weit genug initialisiert ist, um deine Health Checks zu bestehen. Bestätigt sie die Readiness nie, kann die automatische Recovery den Bundle beim nächsten Cold Start als fehlgeschlagen markieren. Diese Sicherheitsmaßnahme schützt Produktionsnutzer, kann aber auch einen unvollständigen Test wie ein Auslieferungsproblem aussehen lassen. Protokolliere den aktiven Bundle und das Startergebnis für jedes Testgerät, bevor du die Reichweite erweiterst.

Channels, Rollouts und CI/CD-Automatisierung

Channels sind die Routing-Schicht zwischen einem veröffentlichten Bundle und einem installierten Gerät. Sie sind auch dein Release-Gate. Ein Staging-Channel sollte auf eine bekannte Native Binary zeigen, ein Beta-Channel sollte eine kontrollierte Kohorte bedienen, und Production sollte erst nach bestandenen Smoke Tests des vorherigen Channels fortgeschritten werden.

Erstelle einen Staging-Pfad mit expliziten Namen:

npx @capgo/cli channel create staging
npx @capgo/cli bundle assign <bundle-id> --channel staging

Pinne diesen Channel an die native Version, die deine Testgeräte verwenden. Tester sollten dieselbe Binary ausführen, die auch Production unterstützen wird, nicht einen lokalen Development-Build mit zusätzlichen Plugins oder abweichender Konfiguration. Sobald die Smoke Suite durchläuft, promotest du das getestete Artefakt, statt ein zweites, leicht abweichendes Bundle hochzuladen.

Deine Channel-Map sollte in capgo.config.json liegen und wie die Anwendung code reviewed werden. Halte Channel-Namen stabil, definiere den vorgesehenen nativen Kompatibilitätsbereich und mache die Production-Promotion zu einem expliziten CI-Schritt. Für Teams, die Feature-Exposure parallel zur Delivery-Exposure verwalten, bieten diese Tipps zur Feature-Flag-Governance eine nützliche Möglichkeit, Deployment-Berechtigung von der nutzerseitigen Aktivierung zu trennen.

Promotion mit CI verbinden

Ein praktisches GitHub Actions Design bietet zwei Wege:

  • Pull Requests: Baue den Web-Layer, signiere ihn mit einem eingeschränkten Preview-Credential und veröffentliche ihn in einem temporären Preview-Channel. Lösche oder lass diesen Channel ablaufen, sobald der Pull Request geschlossen wird.
  • Getaggte Main-Releases: Führe Unit-Tests aus, baue das Production-Bundle, validiere seine native Versions-Constraint, lade es hoch und promote es erst, wenn der Test-Job erfolgreich endet.

Ein Promotion-Befehl kann so aussehen:

npx @capgo/cli bundle promote <bundle-id> \
  --to-channel production \
  --percent 5

Erhöhe die Reichweite in gezielten Schritten wie zum Beispiel 25 %, 50 % und 100 %, jeweils mit einer CI-Freigabe oder einem überwachten Job zwischen den Schritten. Die Prozentsätze und Befehle sind Steuerungselemente, kein Beleg für Sicherheit. Ein erfolgreicher Build sagt nur, dass das Bundle syntaktisch gültig ist. Er sagt nichts darüber aus, wie es sich auf einem bestimmten nativen Binary verhält – mit persistiertem lokalem State, einer langsamen Verbindung oder einem Gerät, das eine alte Session wieder aufnimmt.

Release-Grenze: Ein Web-Bundle gehört zu einem Binary-Kompatibilitätsfenster. Ein Channel darf niemals zum Schlupfloch werden, um code auszuliefern, das auf native APIs verweist, die die installierte App nicht enthält.

Halten Sie TestFlight- und Android-Internal-Track-Builds konsistent, indem Sie jedes Bundle an die exakte native Version binden, für die es gebaut wurde. Wenn sich der native Build ändert, veröffentlichen Sie ein neues Bundle mit passendem Kompatibilitätsziel oder legen Sie ein neues Channel-Mapping an. Die Capgo GitHub Actions-Integrationsguide kann helfen, diese Richtlinie in wiederholbare Workflow-Schritte zu übersetzen.

Ein Diagramm, das die drei Schritte von Software-Channels und Automatisierung veranschaulicht: Staging-Channel, Pin Binary und CI/CD Auto-Deploy.

Teststrategien und automatischer Rollback

Ein OTA-Release kann die CI bestehen und dennoch nach der Aktivierung fehlschlagen. Der Fehler kann vom Bundle, vom nativen Binary, vom gespeicherten Gerätezustand oder von den Netzwerkbedingungen abhängen. Ein Simulator kann bestätigen, dass ein Screen rendert, aber er kann nicht jedes installierte Binary abdecken oder zeigen, ob sich ein fehlgeschlagener Start sauber erholt.

Verwenden Sie drei Testebenen:

  1. CI-Bundle-Tests: Führen Sie Unit-Tests, Type-Checks, Linting und einen Production-Web-Build aus. Testen Sie die geänderten Pfade für Checkout, Authentifizierung, Navigation und Persistenz, anstatt bei der Kompilierung stehen zu bleiben.
  2. Privater Geräte-Channel: Befüllen Sie einen privaten Channel mit physischen Geräten, die das vorherige native Binary ausführen. Decken Sie beide Plattformen, Clean Installs, Upgrade-Installationen und repräsentativen gespeicherten Zustand ab.
  3. Production-Canary: Starten Sie mit einer kleinen, qualifizierten Kohorte, verbundenem Crash-Reporting und JavaScript-Fehlerbenachrichtigungen. Behandeln Sie Startfehler als dringend, da betroffene Nutzer möglicherweise nie den code erreichen, der einen In-App-Fehler meldet.

Der Capacitor OTA-Testguide erklärt die Testmechanik. Die operative Regel ist einfach: Testen Sie jedes Update gegen das Native Binary, das es schützen soll.

Server-Steuerung von Client-Recovery trennen

Serverseitiges Rollback stoppt neue Downloads:

npx @capgo/cli channel set production --bundle <previous-id>

Dies ändert, was qualifizierte Geräte als Nächstes entdecken. Es löscht jedoch kein Bundle, das bereits auf jedem Gerät heruntergeladen oder aktiv ist, daher benötigt der Client auch Wiederherstellungskontrollen. Konfigurieren Sie den Updater so, dass er einen bekannten, funktionierenden Fallback behält und nach einer definierten Startfehlerbedingung zurückkehrt.

Ein zuverlässiger Wiederherstellungspfad umfasst:

  • Tracking von Downloadfehlern: Unterscheiden Sie Verbindungsprobleme von ungültigen Artefakten.
  • Tracking von Installationsfehlern: Erkennen Sie Entpack-, Verifikations- und Dateisystemprobleme.
  • Boot-Health-Tracking: Stellen Sie sicher, dass die App nach der Aktivierung einen nutzbaren Zustand erreicht.
  • Automatischer Fallback: Stellt bei wiederholten Startfehlern das letzte bekannte, funktionierende Bundle wieder her.
  • Manuelle Eskalation: Erhalten Sie Geräte- und Bundle-Identifikatoren für Support und Engineering.

Im Flottenmaßstab erzeugt selbst eine geringe Fehlerquote eine erhebliche Support-Last. Ein OTA-Update-Erfolgsgrad von 99,95 % bedeutet immer noch etwa 1.000 Fehler pro 1 Million Gerätekomprimieren können, laut OTA-Test-Benchmarks für IoT-Flotten. Dieselbe Quelle beschreibt Guardrails wie Rollback innerhalb von 30 Minuten, eine Crash-Rate unter 0,1 % und 98 % der Geräte innerhalb des unterstützten Zeitfensters. Betrachten Sie diese als Benchmark-Beispiele, nicht als universelle Akzeptanzkriterien. Setzen Sie das Error-Budget entsprechend dem Risiko und der Nutzerwirkung der App.

Signing, Security und was OTA nicht ändern kann

Ein unsigniertes Update macht den Delivery-Endpoint zu einem Teil Ihrer Supply-Chain-Angriffsfläche. TLS schützt die Verbindung, aber der Client muss auch bestätigen, dass das heruntergeladene Artefakt von einem autorisierten Release-Prozess stammt und nicht während des Transports ersetzt oder verändert wurde.

Generieren Sie ein Ed25519-Schlüsselpaar mit dem Updater-Tooling. Speichern Sie den privaten Schlüssel in einem CI-Secret und binden Sie den öffentlichen Verifikationsschlüssel während des App-Builds in das native Binary ein. Der Client sollte jedes Bundle vor der Aktivierung verifizieren. Beschränken Sie CLI-Tokens nach Umgebung und Berechtigungsbereich, behalten Sie Upload- und Promotion-Logs bei und verlangen Sie starke Authentifizierung für Produktionsaktionen.

Behandeln Sie die Schlüsselrotation als Kompatibilitätsmigration, nicht als einzelne Konfigurationsänderung. Generieren Sie einen Ersatzschlüssel, veröffentlichen Sie einen Native Build, der sowohl dem aktuellen als auch dem Ersatz-öffentlichen Schlüssel vertraut, und signieren Sie dann Releases mit dem neuen privaten Schlüssel. Entfernen Sie den alten Schlüssel erst, nachdem kompatible native Binaries den Ersatz übernommen haben. Eine zu frühe Entfernung des Vertrauens verhindert, dass ältere Binaries gültige Updates akzeptieren. Ein kompromittierter Schlüssel, dem unbegrenzt vertraut wird, macht die Rotation zunichte.

Grenzen im Releaseplan festlegen

OTA behandelt Änderungen auf der Web-Ebene. Native Releases sind erforderlich, wenn eine Änderung von Funktionen abhängt, die im installierten Binary fehlen:

Kategorie Per OTA ausliefern Erfordert Native Release
Anwendungsverhalten JavaScript-Logik, Routing, Validierung und Zustandsbehandlung Native Plugin-Implementierung
Präsentation CSS, HTML, Texte, Theme-Tokens und kompatible Bild-Assets App-Icon und Splash-Ressourcen
Plattformzugriff Bestehende Capacitor-Web-Layer-Aufrufe auf bereits im Binary vorhandene Capabilities Neue Berechtigungen, Entitlements oder native APIs
Konfiguration Kompatible Web-Konfiguration und Remote-Content-Regeln Info.plist, AndroidManifest.xml, Signing Identity
Store-Metadaten Keine, die vom Store geprüftes Verhalten oder Versionsmetadaten ändern Store-Policy-relevante Metadaten und Änderungen der Versionsnummer

Der Capacitor-Updater code-Signing-Dokumentation erklärt das Verifikationsmodell. Setzen Sie es operativ um mit manipulationssicheren Audit-Logs, Zertifikatsverifizierung, TLS, strikten Zugriffskontrollen und einem Untersuchungsprozess für Versionsfälschung oder Schlüsselkompromittierung.

Kompatibilitätszielgruppen sind weiterhin relevant, da sich die installierte Native-Bevölkerung schrittweise verändert. Apple meldete 66 % aller aktiven Geräte auf iOS 26 und 74 % der in den letzten vier Jahren eingeführten Geräte auf iOS 26, während ein anderer Bericht iOS 26 später im Zyklus auf 79 % aller Geräte im späteren Zyklus, wie zusammengefasst in Forschung zur Schlüsselverwaltung für mobile OTA. Diese Zahlen beziehen sich auf unterschiedliche Zeitpunkte und Gerätepopulationen. Die praktische Schlussfolgerung ist konsistent: Selbst ausgereifte Plattformen aktualisieren nicht alle Geräte gleichzeitig. Weisen Sie Bundles nach Native-Version und Fähigkeit zu, anstatt davon auszugehen, dass ein einzelnes OTA-Artefakt für die gesamte Flotte geeignet ist.

Operative Checkliste vor jedem Release

Halte die Release-Checkliste auf einer Seite und speichere sie im Repository oder Runbook. Aktualisiere sie nach jedem Incident. Eine Kontrolle, die nach einem echten Fehler hinzugefügt wird, verhindert meist das nächste Wiederkehren.

Vor dem Upload

  • Kompatibilität bestätigen: Stelle sicher, dass der Bundle das exakte native Binary targetet und keine nicht verfügbaren Plugin-APIs verwendet.
  • Artifact prüfen: Build aus einem sauberen Workspace, inspiziere die generierten Dateien und bestätige die beabsichtigte Web-Version.
  • Signing schützen: Stelle sicher, dass CI den erwarteten Secret und Key hat. Prüfe, dass Logs keine privaten Materialien exponieren können.
  • Kanäle validieren: Prüfe die Mappings für Staging, Beta und Production, bevor du den Bundle zuweist.
  • Recovery erhalten: Dokumentiere den letzten bekannten guten Bundle und verifiziere, dass der Fallback-Pfad noch funktioniert.
  • Physische Smoke-Tests durchführen: Teste Start, Login, Checkout, Navigation, Persistenz und Update-Bereitschaft auf repräsentativen Geräten.

Während der Promotion

Zuerst an eine begrenzte Kohorte ausliefern, dann Signale beobachten, die mit der Nutzerwirkung zusammenhängen:

  • Crash-freie Sessions: Vergleiche das Ergebnis mit dem vorherigen Bundle und untersuche Regressionen.
  • JavaScript-Fehlerrate: Gruppiere Fehler nach Bundle, nativer Version, Plattform und Feature-Pfad.
  • Cold-Start-Verhalten: Prüfe, ob die Aktivierung den Start verändert oder Nutzer auf einem leeren Bildschirm lässt.
  • Feature-Abdeckung: Stelle sicher, dass die remote aktivierten Funktionen zum empfangenden Binary passen.
  • Adoption und Fehler: Trenne berechtigte Geräte, die noch nicht nach einem Update gesucht haben, von Geräten, die geprüft und fehlgeschlagen sind.

Halte das erste Beobachtungsfenster nach der Promotion für 30 Minuten bevor du die Reichweite erweiterst. Wenn ein kritischer Pfad bricht, setze den Produktionskanal auf den vorherigen Bundle zurück, bewahre Logs auf und entscheide, ob der Fix in einen anderen OTA-Bundle oder eine neue native Release gehört.

Disziplin am Release-Tag: Ein Fallback-Bundle hilft nur, wenn das Team seinen Identifier, den Kompatibilitätsbereich und den Wiederherstellungsbefehl kennt.

Behandle diese Checkliste als gemeinsame operative code. Capgo kann signierte Bundle-Lieferung, Kanal-Targeting, Rollout-Steuerung, Update-Historie und gerätebezogene Observability bereitstellen. Dein Team ist weiterhin für die Kompatibilitätsrichtlinie und die Entscheidung zur Promotion verantwortlich.


Capgo bietet CapacitorJS-Teams einen kontrollierten Weg für signierte JavaScript-, CSS-, Konfigurations- und Asset-Updates, mit Kanälen, gestaffelter Lieferung, Rollback-Schutz und Release-Observability. Setze die Checkliste in die nächste Deployment ein, teste sie gegen ein Staging-Binary und bewerte Capgo für den Produktionsworkflow.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Layer live ist, liefere den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neues aus unserem Blog

Capgo gibt dir die besten Insights, um eine wirklich professionelle Mobile App zu erstellen.