Das beste live update ist das, das deine Nutzer kaum bemerken.
Das bedeutet meistens drei Dinge:
- Der Download ist klein.
- Das Rollout ist kontrolliert.
- Im Fehlerfall erfolgt die Recovery sofort.
Der Rat „Keep OTA lean“ aus der React Native Welt lässt sich auch auf Capgo übertragen. Der Unterschied: Capgo bietet Capacitor Teams zusätzliche Hebel: Delta-Updates, Channels, Automatische Rollbacks, Version Targeting, sowie optionale End-to-End-Verschlüsselung.
Wenn du diese kombinierst, erhältst du kleinere Payloads, schnellere Installs und deutlich weniger operativen Aufwand.
Lean ist wichtig, auch wenn die MAU gleich bleibt
Ein nützliches Capgo-spezifisches Detail: Capgo MAU ist effektiv die Anzahl der monatlich aktiven Geräte, die in den letzten 30 Tagen den Update-Service kontaktiert haben.
Ein Bundle zu verkleinern, dient also nicht primär dazu, die MAU-Zählung zu drücken. Es ist wichtig, weil es die Bereiche verbessert, die User und Teams direkt spüren:
- Schnellere Downloads über Mobilfunk oder schwaches WLAN
- Besseres Erlebnis durch Direct Updates
- Weniger Bandbreitenverlust bei fehlgeschlagenen oder zurückgesetzten Releases
- Geringerer Blast Radius beim Testen oder Staging von Releases
Bei Lean Updates geht es primär um Speed, Sicherheit und operative Disziplin.
1. Standardmäßig Delta Updates nutzen
Wenn du nur eine Sache änderst, dann das.
Capgos Delta-Updates Sende nur die Dateien, die sich zwischen den Versionen geändert haben, anstatt das gesamte Web-Bundle neu herunterzuladen. Das ist der größte Hebel für die tägliche OTA-Performance.
bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta
Sobald dein QA-Pass abgeschlossen ist:
bunx @capgo/cli@latest bundle upload --channel production --delta
Wenn du die CI-Regeln strikt halten willst, nutze --delta-only damit niemand versehentlich wieder Full-Bundle-Uploads nutzt:
bunx @capgo/cli@latest bundle upload --channel production --delta-only
Verwende nur --delta-only wenn deine Production-Flotte Delta Updates unterstützt. Bei gemischten Plugin-Versionen können ältere Geräte, die kein manifestbasiertes Delta-Delivery unterstützen, dieses Update nicht herunterladen.
Das ist noch wichtiger, wenn du directUpdatenutzt, da die Zeitspanne zwischen „Update gefunden“ und „App neu geladen“ für den User sichtbar wird.
2. Assets wie Assets behandeln, nicht wie JavaScript-Ballast
Große Assets sind der Grund, warum OTA-Bundles schleichend aufgebläht werden.
Ein paar praktische Regeln:
- Inlinen von großen Bildern oder Medien in JavaScript vermeiden, wenn eine normale Asset-Datei ausreicht.
- Halte sich häufig ändernde Inhalte auf deinem eigenen CDN oder API, falls sie nicht direkt im App-Bundle liegen müssen.
- Vorsicht bei Marketing-Bildern, Onboarding-Videos und einmaligen Kampagnen-Assets, die bei jedem Release ersetzt werden.
- Lass stabile Assets stabil. Dank Delta-Updates werden unveränderte Dateien wiederverwendet, statt sie erneut herunterzuladen.
Das ist einer der einfachsten Wege, Capgo auch bei wachsender App schnell zu halten. Das schlimmste Szenario ist ein kleiner UI-Fix, der Nutzer dazu zwingt, einen Berg unbeteiligter Medien herunterzuladen.
3. Native Releases für echte native Änderungen nutzen
Capgo aktualisiert den Web-Layer: HTML, CSS, JavaScript und Assets, die zur Laufzeit geladen werden.
Es ist nicht der richtige Kanal für:
- neue native Plugins,
- Berechtigungsänderungen,
capacitor.config.tsÄnderungen,- alles, was den nativen Projektstatus von iOS oder Android verändert.
Diese Trennung ist auch für die Performance wichtig. Wenn du ständig große strukturelle Änderungen über den OTA-Weg schiebst, wird deine Update-Strategie mit der Zeit schwerfälliger und riskanter.
Nutze bewusst zwei Release-Kanäle:
Native Lane
Bei Plugin-Änderungen, Berechtigungen oder nativer Konfiguration:
bun run build
bunx cap sync
Veröffentliche dann ein reguläres Store-Release.
Capgo Lane
Für sichere Iterationen auf der Web-Layer:
bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta
Aktualisiere auch regelmäßig dein natives Baseline, falls du viele langlebige Assets hinzugefügt hast. Ein neuer Store-Build bettet diese Baseline ein, wodurch zukünftige Capgo Diffs kleiner bleiben.
4. Channels nutzen, um das Rollout klein zu halten
Ein „lean“ Update bezieht sich nicht nur auf Megabytes. Es geht auch darum, wie viele Geräte das Update erhalten, bevor du sicher bist, dass es stabil läuft.
Capgos Channel-System ist der sauberste Weg, dies zu steuern:
stagingfür QAbetafür eingeladene Testerproductionfor everyonehotfixfür die Notfallwiederherstellung
Ein einfacher Workflow sieht so aus:
- Upload zu
staging. - Auf echten Geräten validieren.
- Schrittweise ausrollen, entweder über kontrollierte Channels oder prozentbasiertes Rollout.
- Sofort zurückrollen, falls die App-Health sinkt.
Wenn deine App mehrere native Baselines im Einsatz hat, kombiniere Channels mit Version Targeting. Das verhindert, dass inkompatible oder unnötig schwere Bundles auf ältere Binaries treffen.
Für Teams, die noch schnellere Review-Loops suchen, eignet sich Capgo auch hervorragend für PR Previews. So können Produkt, QA und Stakeholder JS-only-Änderungen testen, ohne auf neue TestFlight- oder Play-Internal-Builds zu warten.
5. Wenn du Direct Updates aktivierst, optimiere den Startup massiv
Je schneller ein Update angewendet werden soll, desto disziplinierter muss dein Startup-Pfad sein.
Capgos Update-Verhalten die Docs empfehlen explizit die Kombination directUpdate mit Delta Updates. Das ist der richtige Default.
Die zweite Leitplanke ist notifyAppReady().
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
Wenn deine App nicht innerhalb des standardmäßigen 10-Sekunden-Fensters notifyAppReady() oder des Zeitraums, appReadyTimeout den du in deiner Capacitor-Config festlegst, „ready“ meldet, kann Capgo dieses Bundle als ungültig markieren und die letzte funktionierende Version wiederherstellen. Dieses Rollback-Verhalten willst du in der Produktion, aber es heißt auch, dass du den Startup sauber halten solltest:
- Rufe
notifyAppReady()an der richtigen Stelle - Vermeide langsame Boot-Prozesse im kritischen Pfad
- App-State vorsichtig speichern und wiederherstellen bei sofortigem Reload
- Schlechte Netzwerke und Low-End-Geräte vor dem Rollout testen
Falls du es nicht vor Kurzem gelesen hast, lohnt sich der notifyAppReady Guide noch einmal zu lesen.
6. Interne Update-Channels statt unnötiger Native Builds nutzen
Viele Mobile-Teams verschwenden Zeit damit, Binaries für Änderungen zu bauen, die eindeutig nur Web-relevante Anpassungen sind.
Wenn die Änderung nur:
- copy,
- UI-Polishing ist,
- Onboarding-Flow,
- Pricing-Screen-Logik,
- Analytics-Anbindung,
- Feature Flags,
- Rendering von Prompts oder API Antworten,
dann ist ein Capgo Update oft das schnellere Review-Artefakt.
Das bedeutet weniger Native Builds, weniger TestFlight-Churn und einen schnelleren Feedback-Loop für das Team. Es ist einer der am meisten unterschätzten Vorteile von Capgo: Du kannst mehr Review- und QA-Arbeit in den OTA-Bereich verschieben, ohne die Grenze zwischen Native und Web zu verletzen.
Unser Guide zu Staging mit einer Mobile-App-ID zeigt einen praktischen Weg, um das langfristig sauber zu halten.
7. Lean-Optimierung von Geheimnissen trennen
Kleine Bundles und sichere Bundles lösen unterschiedliche Probleme.
Channels steuern die Berechtigung. Sie allein machen ein Bundle nicht vertraulich.
Wenn Sie stärkere Garantien bei der Auslieferung benötigen:
- aktivieren Sie Live Update Verschlüsselung,,
- mit benutzerdefinierten Storage oder Self-hosted Delivery,,
- und bewahren Sie Private Keys nur in der CI oder gesicherten Operator-Workflows auf.
Das macht die Update-Größe nicht irrelevant. Es bedeutet lediglich, dass Sie beide Dimensionen optimieren sollten:
- lean für Speed,
- verschlüsselt für die Delivery-Kontrolle,
- Channels für die Rollout-Kontrolle,
- und Rollback für die Recovery.
Ein praktischer Workflow für „schlanke Capgo“
Wenn du ein einfaches Standard-Betriebsmodell suchst, nutze dieses:
- Trenne Native Build und OTA Release Lanes.
- JS-Änderungen hochladen mit
--deltastandardmäßig. - Nutzt
stagingundbetaChannels vorproduction. - Ansehen Update-Stats und Logs nach dem Rollout, nicht nur davor.
- PRs in installierbare Previews verwandeln, wenn kein Native Build nötig ist.
- Vermeide große, häufig wechselnde Medien im Bundle, wo immer möglich.
- Aktualisiere die native Baseline nach massivem Asset-Wachstum oder nativen Änderungen.
- Betrachte
notifyAppReady()und das Rollback-Verhalten als Teil des Release Engineering, nicht als triviale Setup-Frage.
Diese Kombination bleibt deutlich länger schnell als der übliche „einfach alles hochladen, was sich geändert hat“-Ansatz.
Abschließender Gedanke
Für Capgo Teams ist „lean and fast“ nicht nur ein Problem der Bundle-Größe.
Es ist ein Problem des Release-Designs.
Nutze Delta Updates für die Payload-Größe, Channels für die Rollout-Größe und Rollbacks für das Ausmaß von Fehlern. Wenn du OTA so betrachtest, bleiben deine Updates schnell, auch wenn die App, das Team und die Nutzerbasis wachsen.
Weiterlesen unter How to Keep Capgo Updates Lean and Fast
Wenn du es nutzt So bleiben Capgo Updates schlank und schnell um Channel-Routing und Staged Rollouts zu planen, verbinde es mit Channels für die Implementierungsdetails in Channels, Channels für die Implementierungsdetails in Channels, Channels für die Implementierungsdetails in Channels, Beta-Testing-Lösung für den Produkt-Workflow in der Beta-Testing-Lösung, und Version-Targeting-Lösung für den Produkt-Workflow in der Version-Targeting-Lösung.