Zum Inhalt springen

Wiederherstellungen

Während Capgos Live-Updates es 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 eine neue Aktualisierung ein unerwarteter kritischer Fehler eingeführt, 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 dem Aufruf der notifyAppReady() Methode auftritt, wird der Plugin automatisch zurückgerollt zur vorherigen funktionierenden Version.

Wenn ein neuer Update heruntergeladen und angewendet wird, erwartet Capgo von Ihrer App, dass sie innerhalb eines konfigurierbaren Zeitrahmens aufruft, um zu bestätigen, dass das Update erfolgreich geladen wurde. Diese Methode signalisiert, dass: notifyAppReady() Die JavaScript-Bundle wurden ohne kritische Fehler geladen

  • Die Kernfunktionen Ihrer App funktionieren
  • Das Update ist sicher zu behalten
  • Wie Automatische Rollover funktionieren

Wenn notifyAppReady() wird nicht aufgrund eines JavaScript-Crashes oder einer kritischen Fehlfunktion aufgerufen, wird Capgo:

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

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

Sie können festlegen, wie lange Capgo wartet, bevor er notifyAppReady() gerufen wird, indem Sie die appReadyTimeout im Konfigurationsdatei von Capacitor einstellen:

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

Der appReadyTimeout Wert wird in Millisekunden angegeben. Der Standardwert für die Zeitüberschreitung beträgt typischerweise 10 Sekunden, aber Sie können diesen Wert an Ihre Anwendungsinitialisierungsanforderungen anpassen. Wenn Ihre Anwendung aufgrund komplexer Initialisierungsprozesse länger lädt, sollten Sie diesen Wert erhöhen.

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

Zurücksetzungs-UI-Oberfläche

Der Hauptweg, um zurückzusetzen, ist die Zurücksetzungs-Oberfläche, 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 zurücksetzen können.

Mithilfe der Historie-Taste zurücksetzen:

  1. Anmelden bei der Capgo-Dashboard.

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

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

  4. Gehen Sie zur 4. Registerkarte (Historie) im Kanal-Bildschirm.

  5. Suchen Sie das Build nach, das Sie zurücksetzen möchten, in der Build-Historie.

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

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

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

  1. In der ersten Registerkarte der Kanalansicht, finden Sie die Version, die Sie zurücksetzen möchten.
  2. Klicken Sie auf das Krönchen-Icon neben dieser Version, um sie zur aktiven Version für den Kanal zu machen. Kanalverwaltungsoptionen
  3. Bestätigen Sie, dass Sie zu dieser Version zurücksetzen möchten.

Nach dem Zurücksetzen erhalten Geräte, die auf den aktualisierten Kanal eingestellt sind, die vorherige Version beim nächsten Update-Check.

Die zurückgesetzte Version wird als neues Update behandelt, daher gelten die üblichen Update-Flüsse und -Bedingungen.

Kanal trennen

Abschnitt mit dem Titel „Kanal trennen“

Wenn Sie die Aktualisierungen auf einem Kanal vorübergehend einstellen möchten, während Sie ein Problem untersuchen, können Sie den Kanal von seiner aktuellen Version trennen. Um einen Kanal zu trennen:

  1. Navigieren Sie zum Kanal im Capgo-Dashboard.

  2. Klicken Sie auf den "Kanal trennen"-Button neben der aktuellen Version.

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

Ein Kanal, der getrennt wurde, verteilt keine neuen Updates mehr. Geräte, die auf diesem Kanal konfiguriert sind, bleiben auf ihrer aktuellen Version, bis der Kanal wieder mit einer Version verbunden ist.

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

In schwereren Fällen möchten Sie möglicherweise alle Geräte auf einem Kanal wieder auf die Webversion zurücksetzen, die ursprünglich mit Ihrem native Binärdatei verpackt wurde. Dies wird als "integrierte Bundle" bezeichnet.

Um die integrierte Bundle auf einem Kanal zwingen zu können:

  1. Navigieren Sie zum Kanal im Capgo-Dashboard.

  2. Klicken Sie auf den "integrierten Bundle"-Button.

  3. Bestätigen Sie, dass Sie die integrierte Bundle zwingen möchten.

Wenn Sie die integrierte 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 Rückerstattungsoption 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:

  • Die Überwachung von Crashberichten und Benutzerfeedback direkt nach der Veröffentlichung eines Updates
  • Die Verwendung von Phasenrollouts oder einem gestaffelten Kanalsystem, um Updates auf einem kleineren Gruppe zu testen, bevor sie weit verbreitet werden
  • Ein klares Entscheidungsprozess für die Entscheidung, zurückzukehren, sich zu entkoppeln oder die integrierte Bundle zu zwingen, und wer die Autorität dazu hat
  • Benachrichtigung an die Benutzer über das Problem und die Lösung, falls zutreffend

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