Zum Hauptinhalt springen
Produktionsaktualisierungen

Alle Benutzer auf die neueste Korrektur bringen

Upload a new web bundle from the CLI or CI. Devices download it in the background and run it the next time the app comes back to the foreground. Roll it out by percentage, watch it in Observe, and roll back if it misbehaves.

Unterstützung durch Martin

Keine Kreditkarte erforderlich
Automatische Rückschaltung
Web-layer-Updates nur

Das Problem

Ein Store-Release ist ein langsamer Weg, ein kleines Problem zu beheben.

Der Store-Only-Fix-Weg

1

Finden Sie den Fehler

Monitoring oder Support meldet einen gebrochenen Bildschirm. Die Reparatur besteht aus wenigen Zeilen JavaScript oder CSS.

2

Ein neues Binär erstellen

Sie erhöhen die Version, bauen für iOS und Android und bereiten zwei Store-Submission vor.

3

Warten auf die Überprüfung

Die Store-Überprüfung dauert oft 24–48 Stunden, manchmal viel länger. Ein Wiederaufnahmeverfahren startet den Wartebeginn erneut.

4

Warten auf Benutzeraktualisierungen

Nach der Genehmigung müssen sich die Benutzer immer noch auf die neue Version installieren. Bis dahin laufen sie mit der alten code.

Jeder Schritt fügt Zeit zwischen der Reparatur bereit und der Reparatur auf den Geräten der Benutzer hinzu.

Warum dauert es, bis Fehler den Benutzern erreichen

24–48h+

Typische Store-Bewertungszeit

Apple und Google überprüfen jede neue Binärdatei. Die Überprüfung dauert oft 24–48 Stunden, manchmal sogar viel länger, und eine Ablehnung bedeutet eine erneute Einreichung.

Pro Benutzer

Die Store-Updates hängen von jedem Gerät ab

Ein Store-Update erreicht ein Gerät nur dann, wenn der Benutzer oder ihre automatische Aktualisierungseinstellung es installiert. Einige Geräte bleiben lange Zeit auf alten Builds.

2 Stores

Zwei Einreichungen für jeden Fehler

Die gleiche Web-Fixierung wird separat über den App Store und Google Play durchgeführt, wobei jeder seine eigene Überprüfung und Veröffentlichung hat.

Die Lösung

Wie eine live update zu Ihren Benutzern gelangt

Dies ist die Standardaktualisierungsverhaltensweise von Capgo. Keine Aktualisierungsanfragen, keine gezwungenen Neustarts und keine Submission für Änderungen im Weblayer.

Standardaktualisierungsfluss

  1. Die App überprüft Aktualisierungen

    Wenn die App in den Vordergrund kommt und alle 10 Minuten, solange sie geöffnet bleibt, fragt der Updater Capgo nach dem neuesten Bundle des Kanals.

    Vordergrund

  2. Es wird im Hintergrund heruntergeladen

    Die neue Bundle wird während der Benutzung des aktuellen Versions heruntergeladen. Mit Delta-Updates werden nur geänderte Dateien heruntergeladen.

    Keine Unterbrechung

  3. Es wird beim nächsten Wiederaufnehmen umgeschaltet

    Wenn der Benutzer die App verlässt, installiert der Updater das Bundle. Die nächste Zeit, wenn sie es öffnen, laufen sie die neue Version.

    Nächster Vordergrund

Möchten Sie, dass die Benutzer die neue Version sofort sehen, wenn sie die App öffnen? Direkte Aktualisierungsmodi werden es bei der Startzeit während des Splash-Screens angewendet.

Direkte Updates anzeigen

Aktualisierungsverhalten

Wie es funktioniert

Wie Produktions-Teams einen Fix mit Capgo bereitstellen

Ein typischer Release für eine Capacitor-App, die bereits in den Stores ist. Jeder Befehl unten stammt aus den Capgo CLI-Dokumentationen.

  1. Einmal den Updater einrichten

    Führen Sie den Setup-Wizard aus, dann stellen Sie sicher, dass Ihre App notifyAppReady() nach dem Start aufruft. Eine Bundle, die diese Funktion nicht aufruft, rollt sich selbst zurück.

    npx @capgo/cli@latest init
    # in your app start-up code
    await CapacitorUpdater.notifyAppReady()
    notifyAppReady() Dokumentation
  2. Hochladen Sie den Fix in eine Produktions-Slice

    Verwenden Sie --delta, damit Geräte nur geänderte Dateien herunterladen, und --rollout, um mit einer kleinen Anzahl von Geräten zu beginnen. Alle anderen bleiben auf der stabilen Bundle.

    npx @capgo/cli@latest bundle upload --channel production --delta --rollout 5
    Progressive Rollouts
  3. Lassen Sie Capgo einen schlechten Rollout stoppen

    Turn on auto-pause with a failure-rate threshold (500 basis points is 5%). If failures pass it, Capgo rolls the rollout back. Check the new version in Observe while it runs.

    npx @capgo/cli@latest channel set production \
      --auto-pause-enabled \
      --auto-pause-failure-rate-bps 500 \
      --auto-pause-action rollback
    Beobachten-Docs
  4. Für alle veröffentlichen

    Wenn die Zahlen stimmen, veröffentlichen Sie das Bundle auf jedem Gerät im Kanal. Wenn nicht, senden Sie die Rollout-Kohorte zurück in den Stabilen.

    npx @capgo/cli@latest channel set production --rollout-promote
    # or, if something looks wrong
    npx @capgo/cli@latest channel set production --rollout-rollback
    Rücksetzungen-Docs

Für Produktionsausgaben entwickelt

Die Steuerung, die Produktionsmannschaften verwenden, um oft ohne die Benutzer zu überraschen zu liefern.

Delta-Updates

Hochladen mit --delta und Geräte laden nur die Dateien, die sich seit ihrem aktuellen Bundle geändert haben. Große Assets, die selten geändert werden, werden nur einmal heruntergeladen.

  • Kleinere Downloads für Benutzer mit langsamen oder abgerechneten Netzwerken
  • Im Standardmodus werden Updates zwischen den Sitzungen angewendet, nicht in der Mitte einer.
Deltas-Dokumentation

--delta

Nur geänderte Dateien werden heruntergeladen

Progressiver Rollout mit automatischer Pause

Senden Sie ein neues Bundle an einen zufälligen, festen Teil einer Kanal, während alle anderen auf dem stabilen Bundle bleiben. Erhöhen Sie den Prozentsatz, fördern Sie es oder rollen es von der CLI oder der Konsole zurück.

  • Auto-Pause kann eine Rollout oder eine Rückschaltung auslösen, wenn die Fehlerquote Ihren Schwellenwert überschreitet.
  • Bevor Sie die neue Version freigeben, vergleicht Observe sie mit der vorherigen.
Progressive Rollouts-Dokumentation

1–5%

Ein typischer erster Rollout-Schritt

Automatische Rückschaltung

Jeder Update muss beweisen, dass es startet. Wenn ein neues Bundle die notifyAppReady()-Methode nicht innerhalb der Zeit aufruft, geht das Gerät zurück zum letzten funktionierenden Bundle und markiert das neue als fehlgeschlagen.

  • Rückschaltung auslösen, wenn notifyAppReady() nicht innerhalb von appReadyTimeout (10 Sekunden standardmäßig) aufgerufen wird.
  • Rollen Sie einen ganzen Kanal zurück auf jede frühere Bundle aus seiner Geschichte.
notifyAppReady()-Dokumentation

10s

Standardzeit für appReadyTimeout vor automatischer Rückschaltung

Liefersystembewertungsbewusste Lieferung

Capgo liefert die Capacitor Web-Schicht: JavaScript, CSS und Assets. Es ändert sich nicht die native Binärdatei, Plugins, Berechtigungen, Zulassungen oder das App-Store-Metadaten. Die Bewertung durch das Store ist app-spezifisch, daher bleiben Sie für die Einhaltung der Richtlinien und die Genehmigung verantwortlich.

  • Verwenden Sie eine native Store-Veröffentlichung, wenn native Fähigkeiten, Plugins, Berechtigungen oder App-Store-Metadaten geändert werden
  • Halten Sie die Notizen der Rezensenten klar über die beabsichtigte Funktionalität der App und den Web-Schicht-Update-Weg
  • Überprüfen Sie die aktuellen Apple- und Google-Politiken vor jeder Einreichung

Was Produktions-Teams damit machen

Tagtägliche Release-Arbeit, sobald Live-Updates in Kraft sind. Jede Karte verlinkt auf die Dokumentation

Kritische Fehlerbehebungen

Ein defektes Checkout- oder Login-Screen erhält eine Web-Schicht-Fix. Laden Sie es hoch und die Geräte greifen es auf ihrem nächsten Update-Check auf.

Aktualisierungsverhalten-Dokumentation

Kopien und Inhaltsänderungen

Ohne Neuverteilung eines Binärs zu erstellen, können Sie die Wortlaut, die Hilfetexte und die Bilder sowie andere verbundene Assets aktualisieren.

Native-Kompatibilitäts-Dokumentation

Gesundheitsstatus in Observe freigeben

Vergleichen Sie ein neues Bundle mit dem vorherigen: fehlerfreie Rate, Start- und WebView-Zeit und Versionsmarker pro Version.

Observe-Dokumentation

Schnellere Übernahme mit Update-Benachrichtigungen

Senden Sie eine stumme Update-Benachrichtigung, wenn ein Kanal eine neue Bundle ändert, damit Geräte jetzt überprüfen, anstatt es auf ihrem nächsten Vordergrund zu tun.

Update-Benachrichtigung senden

Schützen Sie ältere native Builds

Blockieren Sie große Updates auf einem Kanal, damit ein Bundle, das neue native code benötigt, nie an einen älteren Binärdatei gelangt.

Zielgruppenspezifische Dokumentation

Rückgänge aus der Channel-Historie

Wählen Sie einen früheren Bundle in der History-Tabelle aus, um es für jeden Gerät auf diesem Kanal wieder aktiv zu machen.

Rückgänge-Dokumentation

Infrastruktur, die bereits Produktionsanwendungen dient

Capgo liefert seit 2021 Live-Updates an Produktionsanwendungen.

Updates pro Monat
1B+
Geräte erreicht
90M+
Apps, die Capgo verwenden
4,7K+
Typische API Latenz
~50ms

Mit Capacitor erstellte Apps

Hochbelastete Apps benötigen zuverlässige UI-Änderungen in der Produktion

Wetter-, Gesundheits- und Telekommunikations-Apps hängen von genauen Interfaces, Warnungen und Navigation ab. Produktionserweiterungen helfen, genehmigte Interface-Fixes zu liefern, während die Akzeptanz überwacht wird, bevor sie weiter ausgeweitet werden.

Windy.com - Wettervorhersage-App-Icon Wetter

Windy.com - Wettervorhersage

Wetter-App, bei der sich Karten, Warnungen und Navigationen sorgfältig auf die Produktionsausweitung vorbereiten müssen.

Google Play-Installationen
32,9 Mio.
Store-Bewertung
4.7
Conecte SUS-App-Icon MEDIZINISCH

Verbinden mit Capgo

Gesundheitsanwendungen, bei denen Anleitungen und Dienstleistungsinformationen schnell und vertrauenswürdige Updates benötigen.

Google Play-Installationen
27,7M
Store-Bewertung
4.6
Mi Orange App-Icon TOOLS

Meine Orange

Telekom-Kundenapp, bei der Benachrichtigungen und Kontoelemente häufig wechseln.

Google Play-Downloads
9,3M
Store-Bewertung
4.2

Kundenbeweis

Was Teams, die mit Capgo versenden, sagen

5.0/5 bewertet von Entwicklerteams 9,400+ Teams Lesen Sie Bewertungen
Bild von Sergiu S

Sergiu S

Leiterentwickler, drivolino GmbH

The Capgo Capacitor Updater-Plugin hat unsere Art, Updates zu liefern, vollständig verändert. Was früher Tage dauerte, dauert jetzt nur noch Minuten.

Kapil

Gründer, NuTriQ

Es war ein enormer operativer Vorteil, sofort OTA-Updates in der Produktion bereitstellen zu können, ohne auf die vollständige Überprüfung durch den App Store warten zu müssen.

Bildnis von Michael Haberler

Michael Haberler

Netzwerk-Head-Änderungen

Großartige Arbeit am Updater-Plugin. Es funktioniert für mich fehlerfrei und Live-Updates sind ein Super-Boost für schnelle Testzyklen.

FAQ

Frägen, die Produktions-Teams stellen

Wie Updates auf Geräte gelangen und was tun, wenn eines schief geht.

Wann erhalten Benutzer ein live update?

By default, the app checks for updates when it comes to the foreground and every 10 minutes while it stays open. It downloads the new bundle in the background, installs it when the user leaves the app, and runs it the next time they open it. The autoUpdate setting changes this behavior.

Wann erhalten Benutzer ein __CAPGO_KEEP_0__ ?

Können Geräte eine dringende Reparatur schneller aufnehmen?

Ja. Nachdem Sie einen Kanal aktualisiert haben, senden Sie eine Benachrichtigung über eine Aktualisierung vom Konsole oder fügen Sie --send-update-notification zu der Upload-Bundle hinzu. Die Geräte erhalten einen stummen Push und überprüfen ihn sofort. Dies benötigt Capgo-Benachrichtigungen mit iOS- und Android-Push-Zertifikaten. Die Lieferung ist bestmöglich: Ein offline- oder abgebrochenes App überprüft es bei seinem nächsten Start.

Aktualisierung benachrichtigen

Was passiert, wenn eine Aktualisierung das App beschädigt?

Wenn ein neuer Bundle nicht innerhalb von 10 Sekunden (der Standardwert appReadyTimeout) notifyAppReady() aufruft, kehrt das Gerät zum letzten funktionierenden Bundle zurück und markiert den neuen als fehlgeschlagen. Für Fehler, die das App nicht von der Start aufhalten, kann man die progressive Rollout zurücksetzen oder eine frühere Bundle aus der Kanalgeschichte auswählen.

Rücksetzungs-Dokumentation

Wie veröffentlichen wir zuerst für wenige Benutzer?

Upload mit --rollout, um den Bundle an einen zufälligen, festen Anteil des Kanals zu senden, während alle anderen auf stabil bleiben. Erhöhen Sie den Prozentsatz, fördern Sie oder rufen Sie vom CLI oder Konsole zurück. Die automatische Pause kann die Auslieferung stoppen, wenn die Fehlerquote einen Schwellenwert überschreitet.

Progressive Rollouts-Dokumentation

Was kann ein live update nicht ändern?

Live-Updates ersetzen die Web-Schicht: JavaScript, HTML, CSS und Assets. Native-Plugins, Capacitor-Upgrades, capacitor.config-Änderungen und iOS- oder Android-Projektdateien benötigen eine Store-Veröffentlichung. Capgo überprüft die Bundles auf native Kompatibilität bei der Upload und Kanäle können Updates zu älteren Binärs blockieren.

Native-Kompatibilitäts-Dokumentation

Schicken Sie Ihre nächste Reparatur als live update

Probieren Sie die vollständige Fluss auf Ihrem eigenen App während der Probezeit: Laden Sie ein Bundle hoch, verteilen Sie es auf ein paar Geräten und rollen Sie es zurück.

Menschliche Unterstützung von Martin

14-tägige kostenlose Probezeit. Keine Kreditkarte erforderlich.