Zum Inhalt springen

Rollbacks

Während Capgo-aktuelle 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 durch ein neues Update ein unerwarteter kritischer Fehler eingeführt, oder vielleicht möchten Sie 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 dem Aufruf der notifyAppReady() Methode auftritt, wird der Plugin automatisch auf die vorherige funktionierende Version zurückgerollt.

Wenn ein neuer Update heruntergeladen und angewendet wird, erwartet Capgo, dass Ihre App die Methode aufruft notifyAppReady() bestätigen, dass die Aktualisierung erfolgreich geladen wurde. Diese Methode signalisiert, dass:

  • Der JavaScript-Bundle wurde ohne kritische Fehler geladen
  • Die Kernfunktionen Ihrer App funktionieren
  • Die Aktualisierung ist sicher zu behalten

Wenn notifyAppReady() wird nicht aufgerufen, weil JavaScript abstürzt oder ein kritischer Fehler auftritt, Capgo wird:

  1. Dass die Aktualisierung fehlschlug, weil sie nicht korrekt initialisiert wurde
  2. Automatisch auf die vorherige funktionierende Bundle zurückkehren
  3. Die fehlerhafte Aktualisierung als fehlgeschlagen markieren, um sie wiederholt nicht anzuwenden
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

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

Sie können festlegen, wie lange Capgo wartet, bis er aufgerufen wird, indem Sie den "Timeout" in Ihrer Capgo-Konfiguration einstellen: notifyAppReady() Zwischenablage kopieren appReadyTimeout in your Capacitor configuration:

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

__CAPGO_KEEP_0__ appReadyTimeout __CAPGO_KEEP_0__

Jedes Mal, wenn Sie eine neue Version hochladen und einer Kanal zuweisen, speichert Capgo eine Historie dieser Versionen. Wenn Sie eine bestimmte Aktualisierung rückgängig machen müssen, können Sie eine dieser vorherigen Versionen auswählen, um sie wieder auf den Kanal zu deployen.

Rollback-UI-Schnittstelle

Der Hauptweg zum Zurückrollen ist die Rollback-Schnittstelle, die sich im 4. Tab (Historie) befindet, wenn Sie einen Kanal im Capgo-Dashboard ansehen. Dieser Tab bietet einen umfassenden Überblick über alle verfügbaren Versionen für den Kanal, sodass Sie leicht eine vorherige Version auswählen und rückgängig machen können.

Zurückrollen mithilfe der Historie-Taste:

  1. Anmelden im Capgo-Dashboard.

  2. Zum 'Kanäle'-Abschnitt navigieren.

  3. Den Namen des Kanals klicken, den Sie zurückrollen möchten.

  4. Zum 4. Tab (Historie) in der Kanalansicht wechseln.

  5. Die Version finden, die Sie rückgängig machen möchten, in der Historie der Versionen.

  6. Diese Version auswählen, um sie zur aktiven Version für den Kanal zu machen.

  7. Bestätigen Sie, dass Sie zu diesem Build zurückkehren möchten.

Als zweite Möglichkeit können Sie auch direkt von der ersten Registerkarte aus auf einen Build zurückkehren, indem Sie das Crown-Icon neben jedem Build in der Build-Historie des Kanals anklicken:

  1. In der ersten Registerkarte der Kanalansicht finden Sie den Build, den Sie zurücksetzen 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ückkehren möchten.

Nachdem Sie zurückgesetzt haben, erhalten Geräte, die auf den aktualisierten Kanal eingestellt sind, das vorherige Build-Update beim nächsten Update-Check. Das zurückgesetzte Build-Update wird als neues Update behandelt, sodass der übliche Update-Flow und die entsprechenden Bedingungen gelten.

Ein kritischer Rollback mit Benachrichtigungen beschleunigen (Privatvorschau)

Abschnitt mit dem Titel „Ein kritischer Rollback mit Benachrichtigungen beschleunigen (Privatvorschau)“

Ein Umbau eines Kanals wirkt sich normalerweise erst bei der nächsten Überprüfung eines Geräts auf die Aktualisierung aus. Die Capgo-Benachrichtigungsintegration befindet sich derzeit in der Privatvorschau und kann eine stille Aktualisierungsprüfungsbenachrichtigung an ein unterstütztes App an den Hintergrund senden. Mit der Aktualisierungsintegration aktiviert, kann die App prüfen, herunterladen und installieren, wie in der konfigurierten Aktualisierungsmodus vorgesehen.

Dies ist ein Beschleunigungsweg 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 force-quit-App aktualisieren, daher kann es keine feste Zeit versprechen, um jedes Gerät zu erreichen.

Um private-Vorschau-Zugriff zu beantragen oder diesen kritischen Weg einzurichten, wenden Sie sich an support@capgo.app Sie können sich auch mit Benachrichtigungen: Aktivieren Sie stille Aktualisierungsprüfungen.

Wenn Sie Updates auf einem Kanal vorübergehend aussetzen möchten, während Sie ein Problem untersuchen, können Sie den Kanal von seinem aktuellen Build trennen.

Um einen Kanal zu trennen:

  1. Navigieren Sie zum Kanal im Capgo-Dashboard.

  2. Klicken Sie auf den „Unlink“-Schaltfläche neben der aktuellen Build.

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

Einmal unverkoppelt, wird ein Kanal keine neuen Updates verteilen. Geräte, die auf diesen Kanal konfiguriert sind, bleiben auf ihrer aktuellen Build, bis der Kanal wieder mit einer Build verbunden ist.

Dies ist nützlich, wenn Sie ein Problem mit einem Update identifiziert haben, aber noch nicht sicher sind, auf welche Build Sie zurückrollen möchten. Das Unkoppeln des Kanals gibt Ihnen Zeit, zu untersuchen, ohne weitere Updates zu verteilen.

In schwereren Situationen möchten Sie möglicherweise alle Geräte auf einem Kanal wieder auf die Web-Build zurücksetzen, die ursprünglich mit Ihrem native Binärpakete verpackt wurde. Dies wird als „built-in bundle“ bezeichnet.

Um die Built-In-Bundle auf einem Kanal zwingen:

  1. Navigieren Sie zum Kanal im Capgo-Dashboard.

  2. Klicken Sie auf die „Built-in-Bundle“-Schaltfläche.

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

Wenn Sie die interne Bundle zwingen, werden alle auf diesem Kanal konfigurierten Geräte bei ihrem nächsten Update-Check wieder auf die ursprüngliche verpackte Web-Anwendung zurückkehren. Dies geschieht unabhängig davon, auf welchem Build sie sich derzeit befinden.

Dies ist eine aggressivere Rollover-Option als das Zurückkehren auf einen bestimmten vorherigen Build, da alle live veröffentlichten Updates seit der letzten Veröffentlichung der App in den App-Stores 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 auf eine Kohorte beschränkte Rollout verwenden Sie Progressive Rollouts um die Aussetzung oder die Löschung des Ziels vor der Änderung der stabilen Bundle für den gesamten Kanal zu ermöglichen.

  • Monitoring von Crashberichten und Benutzerfeedback sofort nach der Veröffentlichung einer Aktualisierung
  • Verwendung von Phasenrollouts oder einem gestaffelten Kanal-System, um Aktualisierungen auf einer kleineren Gruppe zu testen, bevor sie breit veröffentlicht werden
  • Haben Sie einen klaren Entscheidungsprozess für die Zeit, wenn Sie eine Rückschaltung, Entkopplung oder Zwangsbündelung durchführen sollen, und wer die Autorität dazu hat
  • Kommunizieren Sie mit den Benutzern über das Problem und die Lösung, wenn dies angebracht ist

Indem Sie sorgfältige Überwachung kombinieren, können Sie eine kontinuierlich verbesserte App-Erfahrung liefern, während Sie die Störungen für Ihre Benutzer minimieren

Wenn Sie " Rückschläge " verwenden, um eine Rückschaltung und Versionskontrolle zu planen, verbinden Sie es mit " Version-Zielsetzung " für die Implementierungsdetails in Version-Zielsetzung Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, Paket für die Implementierungsdetails in Paket, Capgo Live Updates für den Produktworkflow in Capgo Live Updates, und Rückgängigmachungsstrategien für Capacitor Live Updates für den praktischen Kontext in Rückgängigmachungsstrategien für Capacitor Live Updates.