Zum Hauptinhalt springen

Dateien in Capacitor Apps aktualisieren

Erfahre, wie du Dateien in Capacitor Apps mit Live Updates sofort aktualisierst. Überspringe App-Store-Verzögerungen und pushe JS-, CSS- und Asset-Fixes direkt an deine Nutzer.

Dateien in Capacitor Apps aktualisieren

Capacitor Fixes ohne App-Store-Verzögerungen ausrollen

Stell dir vor, deine Checkout-Seite hat um 8 Uhr morgens ein CSS-Alignment-Problem. Die Panik beginnt – du brauchst ein iOS-Release, ein Android-Release, Native Builds und Tage für das Review. Damit ist jetzt Schluss.

Erstelle ein neues Web-Bundle, pushe es auf einen kontrollierten Capgo Channel, und kompatible Geräte laden es herunter, ohne jemals eine App-Store-Review-Queue zu berühren. CSS-, JavaScript-, Text- und Asset-Fixes erreichen Nutzer in Minuten, während native Änderungen weiterhin dem üblichen Binary-Release-Pfad folgen.

Inhaltsverzeichnis

Wann ein Live File Update sinnvoll ist

Ein live update ist ideal, wenn deine native Shell stabil läuft, aber der Web-Layer angepasst werden muss. Das CSS-Alignment-Problem? Stylesheet korrigieren, Web-Assets neu bauen, signiertes Bundle veröffentlichen. Bis 9 Uhr morgens – eine Stunde nachdem der Bug aufgetaucht ist – erhalten deine User den Fix beim nächsten App-Start. Capgo spielt das Bundle über seinen Updater ein und lässt die native Binary völlig unangetastet.

Ein junger Profi mit Brille arbeitet an einem Laptop an einem Schreibtisch aus Holz, neben einem Mobiltelefon.

So entscheide ich, welchen Weg ich nehme:

  • Nutze ein live update für JavaScript-Logik, CSS, Texte, Konfiguration und kompatible Assets.
  • Nutze ein natives Release für Plugin-Änderungen, Berechtigungen, native Dependencies oder OS-Funktionen.
  • Teste über einen Channel bevor du den Fix an alle Kunden ausrollst.
Release-Typ Typische Anwendung User Impact
Native Package Neue native Funktion Store-Download und Review
Live-Web-Bundle Dringender kompatibler Fix Update beim App-Start

Halte die native Ebene und die Web-Ebene kompatibel. Ein Live-Bundle kann keine nativen APIs sicher einführen, die in der installierten Binary nicht enthalten sind. Wenn du ein neues Plugin hinzufügst oder Berechtigungen änderst, ist ein Native Build nötig – daran führt kein Weg vorbei.

Für eine Schritt-für-Schritt-Deployment-Sequenz empfehle ich diesen Guide zum Deployment von Capgo Hotfixes. Er zeigt dir, wie du von einem getesteten Fix zu einem kontrollierten Release gelangst, ohne deine Produktionsnutzer als QA-Team zu missbrauchen.

Bevor du Updates in die Produktion pushst, sichere zuerst deine lokalen Builds. Installiere Capgo’s Open-Source-Updater-Plugin und füge sein TypeScript-Paket hinzu, damit dein Editor die Updater-Methoden erkennt und keine fehlenden Typfehler wirft. Für Capacitor-Projekte ist deren Guide zum Einrichten einer lokalen Capacitor-Umgebung ein Lesezeichen wert – es führt dich durch die Vorbereitung eines sauberen Workspaces.

Ein moderner Laptop auf einem Schreibtisch, der einen abgeschlossenen Software-Build-Prozess mit einer Checkliste in der Nähe zeigt.

Web-Assets vorhersehbar halten

Dein Live-Bundle enthält nur die kompilierten Web-Assets – keine beliebigen Quelldateien, die du bearbeiten könntest. Konfiguriere dein Projekt so, dass der Build-Befehl immer die finalen JavaScript-, CSS- und HTML-Dateien sowie kompatible Assets in denselben www oder public Verzeichnis, auf das die native Shell verweist.

So sieht das in der Praxis aus: Nach einer Änderung des Checkout-Stylesheets das normale Web-Build ausführen, dann das Ausgabeverzeichnis prüfen und sicherstellen, dass die generierten Dateien die vorherigen Versionen tatsächlich ersetzt haben. Kompilierte Dateien nicht manuell bearbeiten – das nächste Build überschreibt sie stillschweigend, und die Änderungen gehen unbemerkt verloren.

Ein live update kann nur liefern, was im Web-Build enthalten ist. Wenn die Korrektur in www oder publicfehlt, kann das Gerät sie schlicht nicht empfangen.

Separate Channels für Entwicklung, Staging und Produktion einrichten. Ein Developer-Build sollte niemals auf den Produktions-Channel zeigen, besonders wenn mehrere Teammitglieder gleichzeitig unvollständige Bundles testen.

  • Entwicklung erkennt fehlerhafte Imports und fehlende Assets, bevor sie weiterverarbeitet werden.
  • Staging verifiziert das Verhalten auf echten Geräten mit produktionsnahen Einstellungen.
  • Produktion liefert nur genehmigte, getestete Bundles – nichts Experimentelles.

Bundle vor dem Publishing prüfen

Führe vor dem Upload einen kurzen Integritätscheck durch. So fängst du die meisten Probleme ab, die sonst bei den Nutzern landen würden:

  1. Lösche den vorherigen Build-Output und erstelle einen neuen Build.
  2. Stelle sicher, dass die korrigierte Datei tatsächlich im Output-Verzeichnis existiert.
  3. Teste Navigation, Login, Offline-Verhalten und Native Plugin-Aufrufe – nicht nur das geänderte Feature.
  4. Installiere das Bundle auf iOS- und Android-Testgeräten.
  5. Notiere dir den Channel und die Bundle-Version aus dem Test, um Probleme später reproduzieren zu können.

Electron-Teams können dieselbe Disziplin anwenden: Baue die Renderer-Assets separat und prüfe, ob die gepackte App auf das vorgesehene Output-Verzeichnis verweist. Die typisierten APIs und Channel-Steuerungen von Capgo machen diesen Workflow leichter konsistent wiederholbar, ersetzen aber keine echten Kompatibilitätstests. Wenn eine Änderung ein neues Native Plugin oder eine neue Permission erfordert, veröffentliche eine neue Binary, statt sie als Live-Web-Bundle auszuliefern – der Updater kann nativen code nicht selbst ändern.

File-Updates in Capacitor und Electron-Apps richtig hinzubekommen, hängt an einer Sache: einem felsenfesten Release-Artefakt. Baue deinen Web-Layer aus genau dem Commit, den du schon getestet hast, und prüfe dann noch einmal, ob dein JavaScript, CSS, HTML und alle Assets in www oder public liegen, wie erwartet. Wenn du mit Electron arbeitest, baue den Renderer separat und prüfe, ob die gepackte Shell auf diesen Output zeigt.

Ein verifizierbares Bundle erstellen

Bevor du auch nur ans Uploaden denkst, räume den alten Build-Output auf und starte einen frischen Production-Build. Notiere dir den Commit-Hash, die Bundle-Version, den Zielkanal und die native App-Version. Diese Details sparen dir später Stunden des Rätselns, wenn etwas nicht zusammenpasst.

Prüfe das Bundle immer auf echten Geräten – echte iPhones, Android-Handys oder Electron-Installationen. Gehe durch Login, Navigation, Offline-Modus und jedes native Plugin, das die gerade aktualisierten Dateien betrifft. Ein erfolgreiches Upload auf deinen Update-Server bedeutet nichts, wenn das Gerät das Gesendete nicht tatsächlich ausführen kann.

Signing verleiht deinem Artefakt einen kryptografischen Fingerabdruck. Der Updater stützt sich auf diese Signatur, um zu bestätigen, dass das Bundle unverändert durch deine Release-Pipeline gekommen ist. Speichere deine Signing-Credentials komplett außerhalb des Repos, schränke den Zugriff ein und rotiere sie gemäß den Anforderungen deiner Sicherheitsrichtlinie.

Ein signiertes Bundle ist kein Ersatz für Tests. Signing beweist, woher das Artefakt stammt und dass es nicht manipuliert wurde – es sagt nichts darüber aus, ob deine App damit tatsächlich funktioniert.

Wenn du das Gesamtbild sehen willst, empfehle ich dir zu lesen Capgo’s Guide zu End-to-End-Sicherheit und code Signing.

Publishing über kontrollierte Channels

Sobald dein signiertes Bundle bereit ist, lade es auf Capgo hoch und weise es einem Kanal zu, der zu deiner Rollout-Strategie passt. Die nützlichen, mit denen du am häufigsten arbeiten wirst:

  • Beta — für interne Mitarbeiter und handverlesene Tester
  • Staging — zur Validierung in einer produktionsähnlichen Umgebung, bevor echte Nutzer es sehen
  • Produktion — für die freigegebene Zielgruppe
  • Kundenspezifische Channels — wenn verschiedene Tenants ihr eigenes, unabhängiges Update-Timing brauchen

Ein häufiges Szenario: Ein Fintech-Team entdeckt ein fehlerhaftes Zahlungslabel in der Produktion. Es pusht das korrigierte Web-Bundle in einen internen Channel, prüft den Checkout auf einigen Geräten und rollt dann genau dieses getestete Artefakt zunächst an ein kleines Produktionssegment aus, bevor es breiter verteilt wird. Diese Channel-Guardrails verhindern, dass aus einem hastigen Fix ein ausgewachsener Incident wird.

Nach dem Publishing schau dir die Logs pro Gerät genau an, statt dich nur auf den aggregierten Status im Dashboard zu verlassen. Du willst sicherstellen, dass die richtige App-Version das Bundle übernommen hat, die Signatur validiert wurde, die Installation sauber durchgelaufen ist und beim nächsten Start tatsächlich die neuen Dateien geladen wurden.

Wenn Geräte Abweichungen melden, pausiere den Channel sofort und vergleiche Bundle-Version, native Kompatibilität, Signing-Key und Channel-Zuweisung direkt miteinander. Erweitere die Distribution erst, wenn die Logs in deiner Testgruppe sauber aussehen, und halte das vorherige Bundle immer für einen Rollback bereit.

Sobald deine lokalen Builds reibungslos laufen, ist es an der Zeit, das Publishing in deine CI/CD-Pipeline zu integrieren. Das Ziel ist einfach: deine Web-Assets bauen, das Bundle signieren und es nach bestandenen Tests automatisch veröffentlichen. Keine manuellen Uploads mehr. Keine Fragen mehr, wie man Dateien nach einem Merge aktualisiert – der Prozess erledigt das einfach.

So sieht eine praktische Pipeline konkret aus:

  • Trigger den Job, wenn ein Release-Branch in deinen Target-Branch gemergt wird.
  • Installiere die Dependencies und erstelle einen sauberen www oder public Build.
  • Führe deine gesamte Testsuite aus — Unit-Tests, Integrationstests und Device-Smoke-Tests.
  • Signiere das Bundle mit Credentials aus deinem CI-Secret-Manager.
  • Pushe über die öffentliche API von Capgo in einen Beta- oder Staging-Channel.
  • Sobald die Validierungschecks durch sind, genau dasselbe Artifact weiterpromoten. Nicht neu bauen.

Nochmal, weil es wichtig ist: Committe niemals Signing-Keys oder API-Tokens in dein Repo. Speichere sie als geschützte Env-Variablen, beschränke Production-Publishing auf freigegebene Branches und logge jedes Release mit Bundle-Version, Commit-Hash, Native-App-Version und Ziel-Channel. Capgos GitHub Actions Integrations-Guide erklärt dir die komplette Einrichtung Schritt für Schritt.

Eine Infografik zum vierstufigen Workflow, die den Prozess vom Builden, Signieren, Veröffentlichen und Validieren von Web-Bundles für die Distribution veranschaulicht.

Die Kernaussage ist, dass die Validierung Teil des Delivery-Prozesses bleibt. Veröffentlichen ist nicht das Ende. Deine Pipeline sollte bestätigen, dass die vorgesehenen Geräte das Bundle tatsächlich erhalten und akzeptiert haben.

Transferkosten durch Differential Updates senken

Jedes Mal vollständige Bundles auszuliefern ist Verschwendung – besonders wenn ein Release nur ein Stylesheet oder ein paar JavaScript-Module ändert. Aktiviere Differential Delivery, damit Geräte nur die geänderten Dateien herunterladen. Teste unbedingt, wie entfernte oder umbenannte Assets behandelt werden, sonst gibt es in der Produktion eine böse Überraschung.

Eine Agentur, die ich dabei begleitet habe, senkte ihre durchschnittlichen Bandbreitenkosten um 47% nach dem Wechsel von vollständigen Re-Bundles zu inkrementeller Lieferung. Der eigentliche Gewinn lag bei Nutzern mit langsameren Verbindungen, wo kleinere Downloads auch zu deutlich schnelleren Installationszeiten führten.

Ich empfehle außerdem, separate Channels zu nutzen, um deine Reichweite zu kontrollieren:

  • Beta nimmt interne Builds auf und sammelt Tester-Feedback.
  • Staging spiegelt die Produktionseinstellungen wider, ohne Kunden zu beeinträchtigen.
  • Produktion startet klein mit einer begrenzten Zielgruppe, bevor du ausbaust.
  • Kunden-Channels halten tenant-spezifische Releases voneinander isoliert.

Ein getestetes Artefakt promoten – baue es nicht zwischen den Stages neu. Neubuilds für jede Umgebung erzeugen Drift, und plötzlich debuggst du Unterschiede, die gar nicht existieren sollten.

Für eine Fintech-App könnte der Ablauf so aussehen: Erst an Mitarbeiter veröffentlichen, dann an 5 % der berechtigten Nutzer, die Logs pro Gerät prüfen und nur ausbauen, wenn die Adoption gesund aussieht und die Fehlerquoten stabil bleiben. Und behalte immer das vorherige Bundle. Wenn etwas schiefgeht, musst du in Minuten pausieren oder zurückrollen können, nicht in Stunden.

Das Veröffentlichen eines Bundles ist nur der halbe Weg. Um zu bestätigen, dass Nutzer das Update tatsächlich erhalten, öffne die Logs pro Gerät von Capgo und prüfe die native Version, den Channel, die Bundle-Version, die Signaturvalidierung, den Download-Status und das Installationsergebnis.

Ein gesunder Rollout sollte erfolgreiche Starts nach der Installation zeigen, nicht nur abgeschlossene Downloads. Für einen Checkout-Fix teste einen echten Purchase-Flow auf mehreren Geräten und vergleiche diese Ergebnisse dann mit Berichten von Nutzern mit langsameren Verbindungen oder älteren App-Versionen.

Ein Mann sitzt an einem Schreibtisch und schaut auf einen Computermonitor, der Device-Management-Analysen und Logs anzeigt.

Update-Signale klar interpretieren

Nutze Adoptions- und Fehler-Metriken gemeinsam. Eine hohe Downloadrate bei wiederholten Startfehlern deutet auf ein defektes Bundle hin, während eine niedrige Adoption auf Channel-Targeting, Offline-Geräte oder ein Konfigurationsproblem des Updaters hindeuten kann.

Signal Typische Bedeutung
Heruntergeladen Das Gerät hat das Bundle abgerufen
Installiert Dateien haben die Installationsprüfungen bestanden
Erfolgreich gestartet Die App startete mit den neuen Dateien
Zurückgerollt Das zuletzt funktionierende Bundle wurde wiederhergestellt

Erfolgreiche Starts tracken, nicht nur Downloads. Ein Update ist erst operativ, wenn Nutzer die App normal öffnen und nutzen können.

Die automatische Rollback-Schutzfunktion von Capgo bietet ein Sicherheitsnetz, wenn ein neues Bundle zu Crashes führt oder den Start verhindert. Halte die vorherige Version verfügbar, pausiere den betroffenen Channel und untersuche die Logs, bevor du ein anderes Artifact freigibst.

Video version control hat konzeptionell viel mit dem Monitoring von Datei-Updates und dem Management von Rollbacks in Live-Distribution-Pipelines gemein, daher können Teams diese Ideen auch dann nützlich finden, wenn sie Training-Videoversionen verwalten.

Release verifizieren

Nutze diese kurze Post-Release-Checkliste:

  • Adoption nach Channel und App-Version bestätigen.
  • Fehlgeschlagene Downloads, Signaturfehler und Startfehler prüfen.
  • Den geänderten Workflow auf physischen Geräten testen.
  • Fehlerzeitpunkte mit dem Release-Zeitstempel vergleichen.
  • Distribution pausieren, wenn Fehler unerwartet steigen.
  • Dokumentiere die finale Bundle-, Commit- und Rollback-Entscheidung.

Für vertiefte Anleitungen lies wie du OTA-Updates in Capacitor-Apps monitorst. So wird das Aktualisieren von Dateien aus einer Veröffentlichungsaufgabe zu einem kontrollierten Betriebsprozess.

Entsprechen Live Updates den Store-Regeln?

Live Updates eignen sich am besten für JavaScript-, CSS- und Textänderungen, Konfigurationsanpassungen und kompatible Assets. Sie sind keine Hintertür, um native Funktionen hinzuzufügen, Berechtigungen zu ändern oder die Store-Prüfung zu umgehen. Prüfe vor der Veröffentlichung immer die Richtlinien von Apple und Google für deine spezifische App-Kategorie.

Wie senken Differential Updates Downloads?

Differential Delivery sendet nur die Dateien, die sich tatsächlich geändert haben, statt des gesamten Web-Bundles. Wenn du beispielsweise ein Stylesheet auf deiner Checkout-Seite änderst, gibt es keinen Grund, jedes nicht zusammenhängende Asset erneut zu übertragen. Das bedeutet schnellere Übertragungen und weniger verbrauchte Bandbreite.

Achte aber auf umbenannte und gelöschte Dateien. Veraltete Assets aus früheren Versionen können seltsame, schwer zu verfolgende Bugs verursachen.

Kleine Patches benötigen weiterhin vollständige Kompatibilitätstests. Ein kleinerer Download beseitigt nicht die Notwendigkeit, den gesamten User Flow zu verifizieren.

Was passiert, wenn ein Gerät offline ist?

Ein Offline-Gerät läuft einfach mit dem installierten Bundle weiter. Sobald die Verbindung wieder da ist, prüft der Updater den zugewiesenen Channel und holt das neueste kompatible Release. Geh nicht davon aus, dass jedes Gerät sofort aktualisiert wird – Teams im Außeneinsatz mit instabilem Netz hinken eventuell eine Weile hinterher.

Wie gehst du mit Breaking Changes um?

Betrachte die native Binary und das Web-Bundle als zusammengehöriges Paar. Wenn deine aktualisierten Web-Dateien eine native Methode aufrufen, die in der aktuell installierten Binary nicht existiert, musst du zuerst ein neues natives Release ausliefern und dann das Web-Update darauf ausrollen.

Nutze separate Channels für Beta, Staging und Production. Prüfe genau, ob jedes Gerät wirklich den gewünschten Channel erhält. Wenn Signatur-Mismatches auftauchen, deuten sie meist auf veränderte Artefakte, falsche Credentials oder ein Konfigurationsproblem hin. Pausiere die Distribution, vergleiche das Veröffentlichte mit dem Getesteten und geh die Device Logs durch, bevor du es erneut versuchst.

Für einen praktischen Deployment-Workflow: entdecke Capgo — es bietet dir signierte Releases, Channel-Kontrolle, Differential Delivery und Rollback-Schutz, damit du Dateien ohne Kopfschmerzen aktualisieren kannst.

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.