Zum Hauptinhalt springen
Tutorial

Wie man Capgo-Updates schlank und schnell hält

Ein praktischer Leitfaden, der zeigt, wie man mit Capgo kleinere, sicherere Live-Updates erstellt: Delta-Pakete, kanalbasierte Rollouts, native Baseline-Refreshes, PR-Vorschauen und direkte Update-Grenzen.

Martin Donadieu

Martin Donadieu

Content-Marketing-Beauftragter

Wie man Capgo-Updates schlank und schnell hält

Der beste Live-Update ist das, das Ihre Benutzer kaum bemerken.

Das bedeutet in der Regel drei Dinge:

  1. Die Herunterladung ist klein.
  2. Die Ausrollung ist kontrolliert.
  3. Die Wiederherstellung ist sofort möglich, wenn etwas schief geht.

Das gleiche „Halbwegs OTA lean“-Rat, der in der React Native-Welt funktioniert, gilt auch für Capgo. Die Differenz ist, dass Capgo Capacitor-Teams ein paar zusätzliche Hebel gibt: Delta-Updates, Kanäle, Automatische Rückschritte, Zielgerichtete Versionenund optional End-to-End-Verschlüsselung.

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

Lean ist auch dann wichtig, wenn der 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.

Daher 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 tatsächlich spüren:

  • Schnellere Downloads auf dem Mobilfunknetz oder auf schwachen Wi-Fi-Netzen
  • Bessere Erfahrung mit direkten Updates
  • Weniger verschwendete Bandbreite auf fehlgeschlagene oder zurückgerollte Releases
  • Kleinere Auswirkungen bei der Testung oder Staging eines Releases

Lean-Updates sind wirklich über Geschwindigkeit, Sicherheit und operative Disziplin.

1. Standardmäßig Delta-Updates verwenden

Wenn Sie nur eines tun, tun Sie dies.

Capgo’s Delta-Updates senden Sie nur Dateien, die sich zwischen den Versionen geändert haben, anstatt das vollständige 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 so dass niemand versehentlich auf vollständige-Bundle-Uploads zurückfällt:

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

Nur verwenden --delta-only wenn Ihr Produktionsflekt Delta-Updates unterstützt. Bei gemischten Plugin-Versionen werden ältere Geräte, die Manifest-basierte Delta-Lieferung nicht unterstützen, nicht in der Lage sein, das Update herunterzuladen.

Dies ist noch wichtiger, wenn Sie directUpdate, weil die Zeit 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 dort, wo sich OTA-Bundles leise aufblähen.

Einige praktische Regeln:

  • Vermeide es, große Bilder oder Medien innerhalb von JavaScript einzubinden, wenn ein normales Asset-File ausreicht.
  • Halte häufig wechselnde Inhalte auf deinem eigenen CDN oder API auf, wenn sie nicht innerhalb des gelieferten App-Bundles leben müssen.
  • Sei vorsichtig mit Marketing-Bildern, Onboarding-Videos und einmaligen Kampagnen-Inhalten, die alle paar Releases ersetzt werden.
  • Lass stabile Assets stabil bleiben. Mit Delta-Updates werden unveränderte Dateien wieder verwendet und nicht erneut heruntergeladen.

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

3. Halte native Releases für echte native Änderungen auf.

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

Dies ist nicht der richtige Kanal für:

  • neue native Plugins
  • Zugriffsänderungen
  • capacitor.config.ts Änderungen
  • Alles, was den Zustand von iOS- oder Android-Native-Projekten ändert.

Diese Zeile ist auch für die Leistung wichtig. Wenn Sie wiederholt große strukturelle Änderungen in die OTA-Lane schieben, wird Ihre Updatestrategie mit der Zeit schwerer und riskanter.

Verwenden Sie zwei Release-Lane absichtlich:

Lane für Native

Für Plugin-Änderungen, Berechtigungsänderungen und native Konfiguration:

bun run build
bunx cap sync

Schicken Sie dann eine normale Store-Veröffentlichung.

Lane für Capgo

Für sichere Web-Schicht-Iteration:

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

Erfrischen Sie auch regelmäßig 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-Diffs kleiner hält.

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

Ein 'schlanker' Update ist nicht nur in Bezug auf Megabyte wichtig. Es ist auch darum, wie viele Geräte die Aktualisierung erhalten, bevor Sie wissen, dass sie gut ist.

Lane für Capgo Kanal-System ist der sauberste Weg, um das zu steuern:

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

Ein einfacher Workflow sieht so aus:

  1. Hochladen auf staging.
  2. Validieren auf echten Geräten.
  3. Schrittweise ausrollen, sei es über kontrollierte Kanäle oder eine prozentuale Ausrollung.
  4. Rückgängig machen, sobald die Gesundheit sinkt.

Wenn Ihre App mehrere native Baseline-Systeme im Feld hat, paaren Sie Kanäle mit __CAPGO_KEEP_0__ Zielgruppensprachauswahl. Das hält unkompatible oder unnötig schwere Bundles von älteren Binären fern.

Für Teams, die noch enge Review-Schleifen wollen, funktioniert Capgo auch gut für Vorschau auf Pull-Requests. Das ermöglicht es Produkt, QA und Stakeholdern, JS-Änderungen ohne auf neue TestFlight- oder Play-internal Builds zu warten.

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

Je schneller Sie ein Update anwenden möchten, desto disziplinierter muss Ihre Startzeitpfad sein.

Capgo’s Updateverhalten Die Dokumentation empfiehlt es ausdrücklich, __CAPGO_KEEP_0__ mit Delta-Updates zu kombinieren. Das ist die richtige Standardkonfiguration. directUpdate Die zweite Schutzbarriere ist

5 notifyAppReady().

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

CapacitorUpdater.notifyAppReady()

If Ihr App nicht innerhalb der Standardzeit von 10 Sekunden oder der Zeit, die Sie in Ihrer __CAPGO_KEEP_0__-Konfiguration festgelegt haben, bereitmeldet, kann __CAPGO_KEEP_1__ das Bundle als ungültig kennzeichnen und die vorherige gute Version wiederherstellen. Diese Rollover-Vorgehensweise ist in der Produktion erwünscht, bedeutet aber auch, dass Sie den Startvorgang sauber halten sollten: notifyAppReady() Call 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:

  • Vermeiden Sie langsamere Startvorgänge in der kritischen Pfad notifyAppReady() Speichern und wiederherstellen Sie den Anwendungsstatus sorgfältig, wenn Sie sofort neu laden
  • Testen Sie Szenarien mit schlechter Netzwerkverbindung und geringer Leistung von Geräten vor einer breiten Veröffentlichung
  • Wenn Sie es nicht kürzlich geprüft haben, lohnt sich ein erneutes Lesen des "notifyAppReady"-Leitfadens.
  • 6. Verwenden Sie interne Updatekanäle anstatt unnötiger nativer Rebuilds

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

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

Viele mobile Teams verbringen viel Zeit damit, Binärdateien für Änderungen zu erstellen, die offensichtlich nur auf der Webseite stattfinden.

Wenn die Änderung:

  • Kopieren
  • Benutzerschnittstellen-Polish
  • Onboarding-Flow
  • Preisbildschirmlogik
  • Analytik-Verkabelung
  • Funktionenflags
  • Anfrage oder API Antwort-Rendering

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

Das bedeutet weniger native Rebuilds, weniger TestFlight-Churn und eine engeren Feedback-Schleife 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.

Unser Leitfaden auf Staging mit einem mobilen App-ID beschreibt einen praktischen Weg, dies über die Zeit sauber zu halten.

7. Halten Sie lean separate von secret

Kleine Pakete und sichere Pakete lösen unterschiedliche Probleme.

Kanäle steuern die Eignung. Sie machen ein Paket nicht von sich aus vertraulich.

Wenn Sie stärkere Liefergarantien benötigen:

Das bedeutet nicht, dass die Update-Größe irrelevant ist. Es bedeutet nur, dass Sie sich für beide Dimensionen optimieren sollten:

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

Ein praktisches „lean Capgo“-Workflow

Wenn Sie ein einfaches Standardbetriebsmodell wollen, verwenden Sie dies:

  1. Halten Sie native und OTA-Release-Linien getrennt.
  2. Laden Sie JS-Änderungen mit --delta standardmäßig.
  3. Verwenden Sie staging und beta Kanäle vorher production.
  4. Beobachte aktualisiere Statistiken und Protokolle nach dem Rollout und nicht nur vorher.
  5. Wandele Pull-Requests in installierbare Vorschauen um, wenn eine native Build nicht notwendig ist.
  6. Halte große, häufig wechselnde Medien möglichst aus dem Bundle heraus.
  7. Aktualisiere das native Basislinien nach bedeutenden Asset-Wachstum oder native Änderungen.
  8. Behandle notifyAppReady() und Rollback-Verhalten als Teil der Release-Engineering und nicht als Setup-Trivia.

Diese Combination bleibt lange schneller als der gängige „Upload nur das geänderte“ Ansatz.

Abschließende Gedanken

Für Capgo-Teams ist „schlank und schnell“ 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 Rollover für die Fehler-Größe. Sobald Sie sich an OTA so denken, bleiben Ihre Updates schnell, selbst wenn die App, das Team und die Benutzerbasis größer werden.

Fahren Sie weiter von Wie Sie Capgo-Updates schlank und schnell halten

Wenn Sie "Wie Sie __CAPGO_KEEP_0__-Updates schlank und schnell halten" verwenden How to Keep Capgo Updates Lean and Fast Kanälen für die Implementierungsdetails in Kanälen Kanälen für die Implementierungsdetails in Kanälen Kanälen für die Implementierungsdetails in Kanälen Beta-Testlösung Beta-Testlösung für das Produktworkflow in der Beta-Testlösung und Version-Zielsystem-Lösung für das Produktworkflow in der Version-Zielsystem-Lösung.

Live-Updates für Capacitor-Anwendungen

Wenn ein Bug im Weblayer lebt, liefern Sie die Reparatur über Capgo statt auf Tage für die Genehmigung durch den App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Los geht's jetzt

Neueste von unserem Blog

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