Zum Hauptinhalt springen
Anleitung

Wie man Capgo-Updates schlank und schnell hält

A practical Capgo guide to smaller, safer live updates: delta bundles, channel-based rollout, native baseline refreshes, PR previews, and direct update guardrails.

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Wie man Capgo-Updates schlank und schnell hält

Der beste Live-Update ist der, den die Benutzer kaum bemerken.

Das bedeutet normalerweise drei Dinge:

  1. Der Download ist klein.
  2. Der Rollout ist kontrolliert.
  3. Recovery ist sofortig, wenn etwas schief geht.

Das gleiche "keep OTA lean"-Rat, der in der React Native-Welt funktioniert, gilt auch für Capgo. Die Differenz ist, dass Capgo Capacitor-Teams einige zusätzliche Hebel gibt: Deltas, Kanäle, automatische Rückschritte, Zielgruppenspezifische Updates, und optional End-to-End-Verschlüsselung.

Wenn Sie diese zusammen verwenden, erhalten Sie kleinere Payloads, schnellere Installationen und viel weniger operativen Ballast.

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 das Update-Service in den letzten 30 Tagen kontaktiert haben.

Also ist die Verkleinerung eines Bundles nicht hauptsächlich ein Trick, um die MAU-Zählung zu reduzieren. Es ist wichtig, weil es die Teile verbessert, die Benutzer und Teams wirklich spüren:

  • Faster downloads on cellular or weak Wi-Fi
  • Bessere Erfahrung mit direkten Updates
  • Weniger verschwendete Bandbreite bei fehlgeschlagenen oder zurückgezogenen Releases
  • Kleinerer Auswirkungsbereich bei der Testung oder Staging eines Releases

Lean Updates sind wirklich um Geschwindigkeit, Sicherheit und Betriebsdisziplin bemüht.

1. Standardmäßig Delta-Updates verwenden

Wenn Sie nur eines tun, tun Sie dies.

Capgo’s Deltas senden Sie nur Dateien, die zwischen den Versionen geändert wurden, anstatt das gesamte Web-Bundle erneut herunterzuladen. Das ist der größte einzelne Gewinn für die Routine-OTA-Leistung.

bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta

Wenn Ihre QA-Überprüfung abgeschlossen ist:

bunx @capgo/cli@latest bundle upload --channel production --delta

Wenn Sie möchten, dass CI streng bleibt, verwenden Sie --delta-only Damit niemand versehentlich auf volle Bundle-Uploads zurückfällt:

bunx @capgo/cli@latest bundle upload --channel production --delta-only

Nur verwenden --delta-only Wenn Ihr Produktionspool Delta-Updates unterstützt. Bei gemischten Plugin-Versionen können ältere Geräte, die keine manifestbasierte Delta-Lieferung unterstützen, nicht auf dieses Update zugreifen.

Dies ist noch wichtiger, wenn Sie verwenden directUpdate, weil der Zeitraum zwischen „Update gefunden“ und „App neu geladen“ für den Benutzer sichtbar wird.

2. Behandeln Sie Assets wie Assets, nicht wie JavaScript-Beutel

Große Assets sind der Ort, an dem sich OTA-Bundles leise aufblähen.

Einige praktische Regeln:

  • Große Bilder oder Medien nicht inline in JavaScript einfügen, wenn ein normales Asset-File getan werden kann.
  • Häufig wechselnde Inhalte auf Ihrem eigenen CDN oder API speichern, wenn sie nicht im verschickten App-Bundle leben müssen.
  • Bei Marketing-Bildern, Onboarding-Videos und einmaligen Kampagnen-Assets, die jede Release ersetzt werden, vorsichtig sein.
  • Stabile Assets bleiben stabil. Mit Delta-Updates werden unveränderte Dateien wieder verwendet anstatt neu heruntergeladen zu werden.

Dies ist eine der einfachsten Möglichkeiten, Capgo schnell zu halten, während sich Ihre App entwickelt. Das schlimmste Muster ist ein kleiner UI-Fix, der Benutzern eine Menge unabhängiger Medien zum Herunterladen zwingt.

3. Halten Sie native Releases für echte native Änderungen bereit.

Capgo aktualisiert die Web-Schicht: HTML, CSS, JavaScript und Assets, die bei Laufzeit geladen werden.

Es ist nicht der richtige Kanal für:

  • neue native Plugins
  • Änderungen der Berechtigungen
  • capacitor.config.ts Änderungen
  • Alles, was den Zustand des iOS- oder Android-Native-Projekts ändert.

Dieser Punkt ist auch für die Leistung wichtig. Wenn Sie immer wieder wichtige strukturelle Änderungen in den OTA-Kanal schieben, wird Ihre Updatestrategie mit der Zeit schwerer und riskanter.

Verwenden Sie zwei Release-Kanäle absichtlich:

Native-Kanal

Für Änderungen von Plugins, Berechtigungen und nativen Konfigurationen:

bun run build
bunx cap sync

Dann veröffentlichen Sie eine normale Store-Veröffentlichung.

Capgo-Pfad

Für eine sichere Web-Schicht-Iteration:

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

Regelmäßig aktualisieren Sie auch Ihre native Basis, wenn Sie kürzlich viele langfristige Assets hinzugefügt haben. Ein frischer Store-Build enthält diese neue Basis, was zukünftige Capgo-Differenzen kleiner hält.

4. Verwenden Sie Kanäle, um die Update-Größe klein zu halten

Ein 'schlanker' Update geht nicht nur um Megabyte. Es geht auch darum, wie viele Geräte das Update erhalten, bevor Sie wissen, dass es gut ist.

Capgo-Kanäle Das Kanalsystem von __CAPGO_KEEP_0__ ist der sauberste Weg, um das zu kontrollieren:

  • staging Für QA
  • beta Für eingeladene Tester
  • production für jeden
  • hotfix für Notfall-Wiederherstellung

Ein einfacher Workflow sieht so aus:

  1. Hochladen auf staging.
  2. Validierung auf echten Geräten.
  3. Schrittweise ausrollen, sei es über kontrollierte Kanäle oder eine prozentuale Ausrollung.
  4. Wenn die Gesundheit abnimmt, sofort zurückrollen.

Wenn Ihre App mehrere native Baseline-Versionen im Feld hat, können Sie Kanäle mit Version-Zielsetzungpaaren. Das hält inkompatible oder unnötig schwere Pakete von älteren Binären fern.

Für Teams, die noch enge Review-Schleifen wollen, funktioniert Capgo auch gut für PR-VorschauDas ermöglicht es, dass Produkt, QA und Stakeholder JS-Änderungen ohne Wartezeit auf neue TestFlight- oder Play-internal-Builds testen können.

5. Wenn Sie direkte Updates aktivieren, optimieren Sie die Startzeit.

Die schneller Sie ein Update anwenden möchten, desto disziplinierter muss Ihre Startzeit sein.

Capgo’s Updateverhalten Die Dokumentation empfiehlt es ausdrücklich, Delta-Updates zu pair. directUpdate Das ist die richtige Standard-Einstellung.

Die zweite Sicherheitsvorkehrung ist notifyAppReady().

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

CapacitorUpdater.notifyAppReady()

Wenn Ihre App nicht innerhalb der Standardzeit von 10 Sekunden oder innerhalb der Zeit, die Sie in Ihrer __CAPGO_KEEP_0__-Konfiguration festgelegt haben, bereit ist, kann __CAPGO_KEEP_1__ die Bundle als ungültig markieren und die vorherige gute Version wiederherstellen. Diese Rollover-Verhaltensweise ist in der Produktion wünschenswert, bedeutet aber auch, dass Sie die Startzeit sauber halten sollten: notifyAppReady() Rufen Sie appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:

  • __CAPGO_KEEP_1__ kann die Bundle als ungültig markieren und die vorherige gute Version wiederherstellen. notifyAppReady() am richtigen Ort
  • Vermeide langsames Startzeitverhalten im kritischen Pfad
  • Speichere und restauriere den Anwendungsstatus sorgfältig, wenn du sofort neu ladest
  • Testiere Szenarien mit schlechter Netzwerkverbindung und geringer Leistung von Geräten, bevor du eine breite Veröffentlichung durchführst

Wenn du es nicht kürzlich gelesen hast, ist die notifyAppReady-Anleitung worth re-reading.

6. Verwende interne Updatekanäle anstatt unnötiger nativer Rebuilds

Einige mobile Teams verbringen viel Zeit damit, Binärdateien für Änderungen zu erstellen, die offensichtlich nur auf der Webseite vorgenommen wurden

Wenn die Änderung:

  • Kopieren
  • Benutzeroberflächenglättung
  • Onboarding-Flow
  • Pricing-Screen-Logic
  • Analytik-Wiring
  • Funktionsschalter
  • Anfragen oder API Antwort-Rendering

Dann ist eine Capgo Aktualisierung oft das schnellere Review-Artikel.

Das bedeutet weniger native Rebuilds, weniger TestFlight-Churn und ein engeres Feedback-Schleifen für das Team. Es ist einer der am wenigsten genutzten Vorteile von Capgo: Sie können mehr Review- und QA-Arbeit in die OTA-Spur ohne die native/Web-Grenze zu überschreiten.

Unsere Anleitung zu Staging mit einem mobilen App-ID beschreibt einen praktischen Weg, dies sauber zu halten.

7. Halten Sie Lean getrennt von geheimen

Kleine Pakete und sichere Pakete lösen unterschiedliche Probleme.

Kanäle bestimmen die Berechtigung. Sie machen einen Bundle nicht automatisch vertraulich.

Wenn Sie stärkere Liefergarantien benötigen:

Dadurch wird die Größe der Aktualisierung nicht irrelevant. Es bedeutet nur, dass Sie sich für beide Dimensionen optimieren sollten:

  • schlank für Geschwindigkeit
  • verschlüsselt für Lieferkontrolle
  • Kanäle für die Kontrolle der Veröffentlichung
  • Rückgängigmachen für die Wiederherstellung.

A praktische ‘schlanke Capgo’-Workflow

Wenn Sie ein einfaches Standardbetriebsmodell wünschen, verwenden Sie dies:

  1. Halten Sie native und OTA-Veröffentlichungsstrecken getrennt.
  2. Hochladen von JS-Änderungen mit --delta standardmäßig.
  3. Verwenden Sie staging und beta Kanäle vorher production.
  4. Beobachten Sie Update-Statistiken und -Protokolle nach der Rollout und nicht nur davor.
  5. Rufen Sie PRs in installierbare Vorabversionen auf, wenn eine native Build nicht erforderlich ist.
  6. Vermeiden Sie große, häufig wechselnde Medien, soweit möglich, im Bundle.
  7. Erfrischen Sie die native Basis nach erheblichem Assetwachstum oder native Änderungen.
  8. Behandeln Sie notifyAppReady() und Rollback-Verhalten als Teil der Release-Engineering, nicht als Setup-Trivia.

Diese Combination bleibt länger schnell als der gängige "Upload einfach alles, was geändert wurde"-Ansatz.

Schlussgedanke

Für Capgo-Teams ist "lean and fast" nicht nur ein Problem der Bundle-Größe.

Es ist ein Release-Design-Problem.

Verwenden Sie Delta-Updates für die Payload-Größe, Kanäle für die Rollout-Größe und Rollbacks für die Fehler-Größe. Sobald Sie sich OTA so denken, bleiben Ihre Updates schnell, selbst wenn die App, das Team und die Benutzerbasis größer werden.

Fortsetzen Sie von How to Keep Capgo Updates Lean and Fast

Wenn Sie verwenden How to Keep Capgo Updates Lean and Fast um Kanäle für die Routenplanung und die rollierende Veröffentlichung zu verbinden, Kanäle zur Implementierungsdetail in Kanälen, Kanäle zur Implementierungsdetail in Kanälen, Kanäle zur Implementierungsdetail in Kanälen, Testlösung für Beta-Versionen zur Produktworkflow in Testlösung für Beta-Versionen, und Lösung für Zielversionen zur Produktworkflow in Lösung für Zielversionen.

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.

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

Kontext: Capgo-Marketing-Website. Rolle: Unterstützende Beschreibung oder Meta-Beschreibung. Gesehen in: Komponente GetStarted.astro. Capgo-Produkt-/Marken- und Entwicklertitel werden genau beibehalten. Nachrichtenschlüssel `instant_updates_for_capacitor_apps_description` (Instant Updates For Capacitor Apps Description).

Menschliche Unterstützung von Martin

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