Update-Verhalten
Eine Einrichtungsvoreinstellung mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Wenn Sie eine Aktualisierung für Ihre Capgo-Anwendung freigeben, möchten Sie wahrscheinlich, dass Ihre Benutzer diese Aktualisierung so schnell wie möglich erhalten. Aber Sie möchten auch nicht, dass ihre Erfahrung durch das Zwingen, auf eine heruntergeladene Aktualisierung zu warten oder das Anwendungsprogramm während einer Sitzung neu zu starten, gestört wird.
Capgo-Aktualisierungsverhalten
Abschnitt mit dem Titel „__CAPGO_KEEP_0__-Aktualisierungsverhalten“
Standardmäßig verhält sich __CAPGO_KEEP_0__ bei Anwendungsaktualisierungen wie folgt:Bei der Anwendungsstart prüft das Capgo-Plugin, ob eine neue Aktualisierung verfügbar ist.
-
On app launch, the Capgo plugin checks to see if a new update is available.
-
Standardaktualisierungsablauf
-
Nachdem der Download abgeschlossen ist, wartet Capgo darauf, dass der Benutzer entweder den App in den Hintergrund schickt oder ihn vollständig beendet.
-
Wenn der Benutzer das nächste Mal die App startet, läuft er die aktualisierte Version.
Diese Fluss stellt sicher, dass Benutzer immer die aktuellste Version Ihrer App ausführen, ohne jemals von Update-Anfragen unterbrochen oder gezwungen zu werden, auf Downloads zu warten.
Warum Diese Vorgehensweise?
Abschnitt mit dem Titel “Warum Diese Vorgehensweise?”Die Anwendung von Updates bei einem Hintergrund- oder Beendigungsereignis hat einige wichtige Vorteile für die Benutzererfahrung:
-
Benutzer werden nicht durch Update-Anfragen unterbrochen oder gezwungen, auf Downloads zu warten, während sie in einer Sitzung sind.
-
Updates werden nahtlos zwischen Sitzungen angewendet, sodass die Erfahrung beim Starten der App immer frisch ist.
-
Sie können Updates häufig liefern, ohne sich um die Unterbrechung aktiver Benutzer zu kümmern.
Der Hauptnachteil ist, dass ein Benutzer, wenn er die Anwendung in den Hintergrund legt und sie schnell wieder startet, möglicherweise alle nicht gespeicherten Zustände verliert, da die Aktualisierung zwischen diesen Aktionen angewendet wurde.
Um dies zu mildern, empfehlen wir:
-
Den Zustand häufig zu speichern und ihn geschickt wiederherzustellen, wenn die Anwendung wieder aufgerufen wird.
-
Frequenten Updates zu vermeiden, die große Teile des Anwendungs-Zustands ändern.
-
Sensiblen Flüssen (siehe unten) individuell anzupassen.
Anpassen, wann Updates angewendet werden
Abschnitt mit dem Titel „Anpassen, wann Updates angewendet werden“In manchen Fällen möchtest du mehr Kontrolle darüber haben, wann genau ein Update angewendet wird. Zum Beispiel möchtest du sicherstellen, dass ein Benutzer einen in vollem Gange befindlichen Flow beendet, bevor die Anwendung aktualisiert wird, oder koordinieren, dass eine Anwendungsaktualisierung mit einer Serverseitig-Änderung zusammenfällt.
Capgo bietet eine setDelay Funktion, die es dir ermöglicht, Bedingungen festzulegen, die vor der Installation eines Updates erfüllt sein müssen:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z', }, { kind: 'background', value: '60000', }, ],});Dieser Beispiel würde das Installieren eines Updates bis nach dem 1. Juni 2023 und bis der Benutzer die Anwendung mindestens 60 Sekunden im Hintergrund gelassen hat, verzögern.
Die verfügbaren Wartebedingungen sind:
date: Warten Sie, bis nach einem bestimmten Datum/Zeitpunkt, um die Aktualisierung anzuwenden.background: Warten Sie eine Mindestdauer nachdem die App im Hintergrund geschaltet wurde, um die Aktualisierung anzuwenden.nativeVersion: Warten Sie, bis eine native Binärdatei mit einer Mindestversion installiert ist, bevor die Aktualisierung angewendet wird.kill: Warten Sie, bis das nächste App-Töten-Ereignis, um die Aktualisierung anzuwenden.
Sie können diese Bedingungen mischen und anpassen, um genau zu bestimmen, wann eine Aktualisierung installiert wird.
Aktualisierungen sofort anwenden
Abschnitt mit dem Titel „Aktualisierungen sofort anwenden“Wenn Sie kritische Updates oder Apps mit sehr einfachem Zustand haben, möchten Sie möglicherweise ein Update so schnell wie möglich anwenden, ohne auf einen Hintergrund- oder Beendigungsereignis zu warten. Capgo unterstützt dies über die autoUpdate Policy in Ihrer Capacitor-Konfiguration.
autoUpdate wird in Ihrem capacitor.config.ts Datei, nicht in JavaScript code. Es unterstützt diese Werte:
falseoder'off': Auto-Update deaktivierentrueoder'atBackground'(Standard): Automatisch herunterladen und anwenden, wenn die App in den Hintergrund verschoben wird'atInstall': Sofort anwenden, nur nach einer frischen Installation oder einem Update des nativen Apps, ansonsten Hintergrund-Flow verwenden'onLaunch': Sofort an der App-Start anwenden, andernfalls den Hintergrund-Flow nach der Startprüfung verwenden'always': Sofort anwenden, sobald Auto-Update läuft'onlyDownload': Automatisch herunterladen, emitieren und nie den nächsten Bundle automatisch setzenupdateAvailableZur Zwischenablage kopieren
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' for updates only on app install/update autoSplashscreen: true, keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, // Required when using instant apply with autoSplashscreen }, },};
export default config;, __CAPGO_KEEP_0__ wird ein Update sofort angewendet, sobald der Download während einer Update-Überprüfung abgeschlossen ist, selbst wenn der Benutzer aktiv mit der App arbeitet. Ohne periodische Überprüfung aktiviert, bedeutet dies, dass Updates nur angewendet werden, wenn die App startet oder aus dem Hintergrund wiederaufgenommen wird. autoUpdate: 'always', Capgo will immediately apply an update as soon as the download completes during an update check, even if the user is actively using the app. Without periodic checking enabled, this means updates will only be applied when the app starts or resumes from background.
Hinweis, dass aufgrund autoUpdate eine native Konfiguration ist, erfordert Instant-Apply-Modi einige zusätzliche Verarbeitung in Ihrem JavaScript code.
Automatisches Herunterladen ohne Anwendung
Abschnitt mit dem Titel “Automatisches Herunterladen ohne Anwendung”Wenn Sie möchten, dass Capgo automatisch Updates überprüft und herunterlädt, aber sie nie automatisch anwendet, verwenden Sie autoUpdate: 'onlyDownload':
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'onlyDownload', }, },};In diesem Modus sendet das Plugin updateAvailable nachdem ein Bundle heruntergeladen wurde. Ihre App kann dann entscheiden, wann sie den Update-Befehl ausführt. CapacitorUpdater.set() oder ihr eigenes Update-Fenster anzeigt.
Automatische Splashscreen-Verwaltung
Abschnitt mit dem Titel “Automatische Splashscreen-Verwaltung”Um Instant-Apply-Modi einfacher zu bedienen, bietet Capgo eine Option, die automatisch die Versteckung der Splashscreen für Sie übernimmt (verfügbar seit Version 7.6.0): autoSplashscreen Zum Auswählen in die Zwischenablage
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' autoSplashscreen: true, // Automatically hide splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};aktiv ist: autoSplashscreen Der Plugin versteckt die Splashscreen automatisch, wenn ein Update angewendet wird
- Der Plugin versteckt die Splashscreen automatisch, wenn kein Update erforderlich ist
- Sie müssen sich nicht manuell auf die Anwendung von Updates einlassen.
- Sie müssen sich nicht manuell auf die Anwendung von Updates einlassen.
appReadyEreignisse aufrufen oder AnrufSplashScreen.hide()
Manuelles Splashscreen-Handling
Abschnitt: Manuelles Splashscreen-HandlingWenn Sie eine manuelle Kontrolle bevorzugen oder eine benutzerdefinierte Logik benötigen, können Sie das autoSplashscreen und handeln Sie selbst:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { // Hide splash screen SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();Das Ereignis appReady Das Ereignis wird einmal ausgelöst, wenn die App fertig mit der Initialisierung und der Anwendung von etwaigen ausstehenden Updates ist. Dies ist der Zeitpunkt, an dem es sicher ist, die UI der App anzuzeigen, da es sicherstellt, dass der Benutzer die neueste Version sieht.
Zusätzlich zum Handhaben des Ereignisses empfehlen wir, die appReady Konfigurationsoption auf keepUrlPathAfterReload zu setzen, wenn Sie einen Instant-Apply-Modus verwenden. Dies bewahrt den aktuellen URL-Pfad bei einem Neustart der App aufgrund eines Updates, wodurch die Position des Benutzers im App und eine Orientierungslosigkeit verringert werden. true __CAPGO_KEEP_0__
Wenn Sie das appReady Event nicht behandeln und nicht keepUrlPathAfterReload setzen, wenn Sie einen sofortigen Anwendungsmodus verwenden, kann der Benutzer kurzzeitig eine veraltete Version der App sehen, auf die Startseite zurückgeleitet werden oder einen Flicker erleben, während die Aktualisierung angewendet wird.
Ein sofortiger Anwendungsmodus kann nützlich sein, um kritische Fehler oder Sicherheitspatches bereitzustellen, aber er kommt mit einigen Kompromissen:
- Der Benutzer kann ein kurzes Flickern oder eine Ladezustand sehen, während die Aktualisierung angewendet wird, wenn Sie das Splashscreen nicht ordnungsgemäß mit
autoSplashscreenoder manuellemappReadyEvent-Handling handhaben. - Wenn die Aktualisierung die App-Zustand oder die Benutzeroberfläche ändert, kann der Benutzer eine störende Änderung in der Mitte einer Sitzung sehen.
- Der Benutzer kann sich verloren fühlen, wenn
keepUrlPathAfterReloadnicht gesetzt ist, was sie verwirren kann. - Sie müssen sorgfältig den Zustand speichern und wiederherstellen, um eine glatte Übergabe zu gewährleisten.
Wenn Sie den sofortigen Anwendungsmodus aktivieren, empfehlen wir:
- Mit
autoSplashscreen: truefür die einfachste Einrichtung oder manuell dieappReadyVeranstaltung, wenn Sie eine benutzerdefinierte Logik benötigen. - Einstellung
keepUrlPathAfterReloadzutrueum die Benutzerposition im App zu speichern. - Speichern und die App-Zustand wie erforderlich, um den Benutzerfortschritt zu vermeiden.
- Gründlich testen Sie das Update-Verhalten Ihrer App, um sicherzustellen, dass es keine jarring Übergänge, verlorene Zustände oder verwirrende Standortänderungen gibt.
In den meisten Fällen bietet die Standard-Update-Verhaltensammlung den besten Ausgleich zwischen der schnellen Bereitstellung von Updates und der Minimierung von Störungen. Aber für Apps mit spezifischen Anforderungen bietet Capgo die Flexibilität, die Anwendung von Updates zu customisieren, wenn und wie sie angewendet werden.
Weiter von Update-Verhalten
Abschnitt mit dem Titel “Weiter von Update-Verhalten”Wenn Sie mit verwenden Aktualisierungsverhalten um Live-Aktualisierungen zu planen, verbinden Sie es mit Capgo Live Updates für den Produktworkflow in Capgo Live Updates, Übersicht für die Implementierungsdetails in Übersicht, Funktionen für die Implementierungsdetails in Funktionen, Aktualisierungstypen für die Implementierungsdetails in Aktualisierungstypen und Einführung für die Implementierungsdetails in Einführung.