Zum Inhalt springen

Rollbacks

Während Capgos Live-Updates Ihnen ermöglichen, Verbesserungen und Fixes schnell an Ihre Benutzer zu liefern, gibt es Situationen, in denen Sie auf eine vorherige Version Ihrer App zurückkehren müssen. Vielleicht wurde eine neue Aktualisierung ein unerwartetes kritisches Problem hervorgerufen oder Sie möchten eine bestimmte Änderung während Sie an einer Lösung arbeiten zurücksetzen.

Capgo bietet mehrere Möglichkeiten, die Builds eines Kanals zu verwalten und die Version Ihrer App zu steuern, die Benutzer erhalten, einschließlich manueller Rollover-Optionen und automatischer Sicherheitsmechanismen.

Capgo enthält eine integrierte Sicherheitsmechanismus, um Ihre Benutzer vor beschädigten Updates zu schützen. Wenn ein JavaScript-Fehler vor der Aufrufung des notifyAppReady() Methodenaufrufs auftritt, wird der Plugin automatisch auf die vorherige funktionierende Version zurückgerollt.

Wie funktioniert die automatische Rollover-Schutzfunktion?

Wie Automatische Rollback-Funktion funktioniert

When a new update is downloaded and applied, Capgo expects your app to call notifyAppReady() innerhalb eines konfigurierbaren Zeitraums, um sicherzustellen, dass die Aktualisierung erfolgreich geladen wurde. Diese Methode signalisiert, dass:

  • Enthält Installieren, Synchronisieren und die Quellmarkdownteilung.
  • Ihre App-Funktionalität läuft wie erwartet
  • Die Aktualisierung ist sicher zu behalten

Wenn notifyAppReady() wird nicht aufgerufen, wenn es zu einem JavaScript-Crash oder kritischen Fehler kommt, Capgo wird:

  1. Ermitteln, dass die Aktualisierung fehlerhaft initialisiert wurde
  2. Automatisch auf den vorherigen funktionierenden Bundle zurückkehren
  3. Die fehlerhafte Aktualisierung als fehlgeschlagen markieren, um sie zu verhindern, dass sie erneut angewendet wird
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

Diese automatische Sicherung hilft sicherzustellen, dass selbst wenn Sie versehentlich einen gebrochenen Update pushen, Ihre Benutzer nicht mit einer nicht-funktionalen App gestellt werden.

Konfiguration der Zeitüberschreitung

Zeitüberschreitung konfigurieren

Sie können festlegen, wie lange Capgo auf eine Antwort wartet notifyAppReady() in Ihrer __CAPGO_KEEP_0__-Konfiguration einstellen: appReadyTimeout in Ihrer Capacitor Konfiguration:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

The appReadyTimeout value is specified in milliseconds. The default timeout is typically 10 seconds, but you can adjust this based on your app’s initialization requirements. If your app takes longer to load due to complex initialization processes, you may want to increase this value.

Every time you upload a new build and assign it to a channel, Capgo keeps a history of those builds. If you need to revert a specific update, you can select one of these previous builds to redeploy to the channel.

Rollback UI Schnittstelle

Der Hauptweg zum Zurücksetzen ist die Zurücksetzungs-Schnittstelle, die sich im 4. Tab (Historie) befindet, wenn Sie ein Kanal im Capgo Dashboard ansehen. Dieser Tab bietet einen umfassenden Überblick über alle verfügbaren Builds für den Kanal, sodass Sie leicht auswählen und auf jede vorherige Version zurückkehren können.

Um mit der Historie-Taste zurückzusetzen:

  1. Anmelden Sie sich im Capgo Dashboard.

  2. Navigieren Sie zur 'Kanäle'-Sektion.

  3. Klicken Sie auf den Namen des Kanals, den Sie zurücksetzen möchten.

  4. Gehe zur 4. Tab (Historie) im Kanal-Bildschirm.

  5. Finde das Build, das du zurücksetzen möchtest, in der Build-Historie.

  6. Wähle dieses Build aus, um es zum aktiven Build für den Kanal zu machen.

  7. Bestätige, dass du auf dieses Build zurücksetzen möchtest.

Als zweite Möglichkeit können Sie auch direkt von der ersten Registerkarte aus rollen, indem Sie das Crown-Icon neben jedem Build in der Build-Historie des Kanals klicken:

  1. In der ersten Registerkarte der Kanalansicht finden Sie den Build, den Sie rückgängig machen möchten.
  2. Klicken Sie auf das Crown-Icon neben diesem Build, um ihn zum aktiven Build für den Kanal zu machen. Kanalverwaltungsoptionen
  3. Bestätigen Sie, dass Sie zu diesem Build zurückrollen möchten.

Nachdem Sie zurückgerollt sind, erhalten Geräte, die auf den aktualisierten Kanal eingestellt sind, das vorherige Build die nächste Zeit, wenn sie nach einer Aktualisierung suchen. Das zurückgerollte Build wird als neue Aktualisierung behandelt, daher gelten die üblichen Aktualisierungsabläufe und -bedingungen.

Ein kritischer Rückruf beschleunigen mit Benachrichtigungen

Abschnitt mit dem Titel “Ein kritischer Rückruf beschleunigen mit Benachrichtigungen”

Ein Kanal neu verbinden wir normalerweise auf der nächsten Überprüfung eines Geräts für eine Aktualisierung. Capgo Benachrichtigungen können eine stille Überprüfungsnachricht an eine unterstützte App senden, während sie im Hintergrund läuft. Mit der AktualisierungsinTEGRATION aktiviert, kann die App prüfen, herunterladen und die Rückschrittinstallation entsprechend ihrer konfigurierten Aktualisierungsmodus durchführen.

Dies ist eine Beschleunigungspfad und kein gezwungener Flottenbefehl. Die Lieferung bleibt bestmöglich und hängt von der Hintergrundscheduling des Betriebssystems, der Netzwerkverfügbarkeit und dem Gerätestatus ab. Es kann keine Offline- oder gezwungene App aktualisieren, daher kann es keine feste Zeit versprechen, um jedes Gerät zu erreichen.

Um diesen Pfad einzurichten, folgen Sie Benachrichtigungen: Aktiviere stille Aktualisierungsprüfungen.

Wenn Sie eine vorübergehende Einstellung der Aktualisierungen auf einem Kanal während Sie ein Problem untersuchen möchten, können Sie den Kanal von seinem aktuellen Build trennen.

Um einen Kanal zu entkoppeln:

  1. Navigieren Sie zum Kanal im Capgo Dashboard.

  2. Klicken Sie auf den “Entkoppeln”-Button neben dem aktuellen Build.

  3. Bestätigen Sie, dass Sie den Kanal entkoppeln möchten.

Einmal entkoppelt ein Kanal, wird er keine neuen Aktualisierungen verteilen. Geräte, die auf diesen Kanal konfiguriert sind, bleiben auf ihrem aktuellen Build, bis der Kanal wieder mit einem Build verbunden ist.

Dies ist nützlich, wenn Sie ein Problem mit einer Aktualisierung identifiziert haben, aber noch nicht sicher sind, welches Build Sie zurücksetzen möchten. Das Löschen des Kanals gibt Ihnen Zeit, zu untersuchen, ohne weitere Aktualisierungen zu drücken.

In schweren Situationen möchten Sie möglicherweise alle Geräte auf einem Kanal wieder auf die Web-Ausgabe zurücksetzen, die ursprünglich mit Ihrem native Binärdatei verpackt wurde. Dies wird als "Built-In-Bundle" bezeichnet.

Um auf einem Kanal das Built-In-Bundle zu zwingen:

  1. Navigieren Sie zum Kanal im Capgo-Dashboard.

  2. Klicken Sie auf die Schaltfläche "Built-In-Bundle".

  3. Bestätigen Sie, dass Sie das Built-In-Bundle zwingen möchten.

Wenn Sie das Built-In-Bundle zwingen, werden alle auf diesem Kanal konfigurierten Geräte auf die ursprünglich verpackte Web-Ausgabe zurückkehren, sobald sie auf die nächste Aktualisierungsprüfung treffen. Dies geschieht unabhängig davon, auf welchem Build sie sich derzeit befinden.

Dies ist eine aggressivere Zurücksetzungsoption als das Zurücksetzen auf ein bestimmtes vorheriges Build, da alle seit der letzten Veröffentlichung im App-Store freigegebenen Live-Updates verworfen werden.

Um Probleme schnell zu erkennen und den Einfluss von problematischen Updates zu minimieren, ist es wichtig, einen Plan für die Überwachung Ihrer Releases und die Reaktion auf Probleme zu haben.

Einige Strategien umfassen:

Für eine Ausrollung, die noch auf eine Kohorte beschränkt ist, verwenden Sie Progressive Ausrollen Um die Aussetzung oder die Zielgruppe zu pausieren, bevor man das stabile Bundle für den gesamten Kanal ändert.

  • Überwachung von Fehlerberichten und Benutzerfeedback unmittelbar nach der Veröffentlichung einer Aktualisierung
  • Mit phasenweisen Rollouts oder einem schrittweisen Kanalsystem Updates auf einer kleineren Gruppe testen, bevor sie breit verfügbar sind.
  • Verwendung von phasenweisen Ausrollungen oder einem gestaffelten Kanalsystem, um Updates auf einer kleineren Gruppe zu testen, bevor sie weit verbreitet werden
  • Benachrichtigung der Benutzer über das Problem und die Lösung, falls erforderlich

Indem Sie sorgfältige Überwachung mit der Fähigkeit kombinieren, problematische Updates schnell zu verwalten, können Sie eine kontinuierlich verbesserte App-Erfahrung bereitstellen, während Sie Störungen für Ihre Benutzer minimieren.

Wenn Sie Live Updates verwenden Rollbacks um Rollbacks und Versionskontrolle zu planen, verbinden Sie es mit zur Implementierung in Versionziel für die Implementierungsdetails in der Zielversion zur Implementierung in Updateverhalten für die Implementierungsdetails in der Updateverhalten. bundle für die Implementierungsdetails im Bundle, Capgo Live Updates zur Produktionsablauf in Capgo Live Updates und Rücksetzstrategien für Capacitor Live Updates zur praktischen Kontext in Rücksetzstrategien für Capacitor Live Updates.