Auch für Cordova und Electron verfügbar
Abschnitt mit dem Titel „Auch für Cordova und Electron verfügbar“Capgo Live Updates sind nicht auf Capacitor beschränkt. Nutze dasselbe Backend und CLI mit weiteren Client-Plugins:
Übersicht
Abschnitt: „Übersicht“@capgo/capacitor-updater liefert JavaScript-Bundle-Updates für Capacitor Production-Apps, ohne auf das Store-Review zu warten. Signierte Bundles im Hintergrund herunterladen, Rollouts über Channels und Delay-Regeln steuern und zurückrollen, wenn notifyAppReady() nicht innerhalb des konfigurierten appReadyTimeout.
Typische Anwendungsfälle: Hotfixes für Produktionsfehler, gestaffelte Betas pro Channel, A/B-UI-Experimente und Notfall-Rollbacks auf das integrierte Bundle.
Plattformunterstützung
Abschnitt mit dem Titel „Plattformunterstützung“| Plattform | Support |
|---|---|
| iOS | Ja |
| Android | Ja |
| Web | Bundles gelten für die WebView-Ebene in nativen Shells, nicht für gehostete statische Websites |
Cordova- und Electron-Clients nutzen die oben verlinkten Schwester-Plugins mit demselben Capgo Backend.
Kernfunktionen
Abschnitt mit dem Titel „Kernfunktionen“notifyAppReady- Benachrichtigt den Native Layer, dass JavaScript erfolgreich initialisiert wurde.setUpdateUrl- Setzt die Update-URL der App dynamisch zur Laufzeit.setStatsUrl- Setzt die Statistics-URL der App dynamisch zur Laufzeit.setChannelUrl- Setzt die Channel-URL der App dynamisch zur Laufzeit.
Öffentliches API
Abschnitt mit dem Titel „Öffentliche API“| Methode | Beschreibung |
|---|---|
notifyAppReady | Benachrichtigt den Native Layer, dass JavaScript erfolgreich initialisiert wurde. |
setUpdateUrl | Setzt die Update-URL der App dynamisch zur Laufzeit. |
setStatsUrl | Setzt die Statistics-URL der App dynamisch zur Laufzeit. |
setChannelUrl | Setzt die Channel-URL der App dynamisch zur Laufzeit. |
download | Lädt ein neues Bundle von der angegebenen URL für die spätere Installation herunter. |
next | Legt das nächste Bundle fest, das beim In-den-Hintergrund-Gehen oder Neustart der App aktiviert wird. |
set | Setzt das aktuelle Bundle und lädt die App sofort neu. |
delete | Löscht ein Bundle aus dem lokalen Speicher, um Festplattenplatz freizugeben. |
setBundleError | Markiert ein Bundle im manuellen Update-Modus manuell als fehlgeschlagen. |
list | Ruft alle lokal heruntergeladenen Bundles ab, die in der App gespeichert sind. |
reset | Setze die App auf ein funktionierendes Bundle zurück. |
current | Ruft Informationen über das aktuell aktive Bundle ab. |
reload | Lädt die App manuell neu, um ein ausstehendes Update anzuwenden. |
setMultiDelay | Konfiguriert Bedingungen, die erfüllt sein müssen, bevor ein ausstehendes Update angewendet wird. |
cancelDelay | Bricht alle Verzögerungsbedingungen ab und wendet das ausstehende Update sofort an. |
getLatest | Prüft den Update-Server auf die neueste verfügbare Bundle-Version. |
setChannel | Lege einen lokalen Runtime-Update-Channel für dieses Gerät fest. Dadurch wird kein Dashboard- oder API Device-Override erstellt. |
unsetChannel | Entfernt die Channel-Zuweisung des Geräts und kehrt zum Standard-Channel zurück. |
getChannel | Ruft den Channel ab, der diesem Gerät aktuell zugewiesen ist. |
listChannels | Ruft eine Liste aller Channels ab, die dieses Gerät selbst zuweisen kann. |
setCustomId | Setzt eine benutzerdefinierte ID für dieses Gerät. |
getBuiltinVersion | Ruft die integrierte Bundle-Version ab (die Originalversion, die mit deiner nativen App ausgeliefert wurde). |
getDeviceId | Ruft die eindeutige, datenschutzfreundliche ID für dieses Gerät ab. |
getPluginVersion | Ruft die Version des Capacitor Updater-Plugins ab, die in deiner App installiert ist. |
isAutoUpdateEnabled | Prüft, ob automatische Updates aktuell aktiviert sind. |
removeAllListeners | Entfernt alle für dieses Plugin registrierten Event-Listener. |
addListener | Hört auf das Bundle-Download-Event in der App. Feuert, sobald ein Download gestartet ist, während des Downloads und wenn er abgeschlossen ist. Liefert dir während des Downloads den jeweiligen Download-Fortschritt in Prozent. |
addListener | Hört auf das 'No need to update'-Event – nützlich, wenn du bei jedem App-Start einen Force-Check durchführen willst. |
addListener | Auf das Event für verfügbare Updates hören – ideal, um bei jedem App-Start einen Check zu erzwingen. |
addListener | Auf downloadComplete-Events hören. |
addListener | Auf Breaking-Update-Events hören, wenn das Backend ein Update als inkompatibel mit der aktuellen App markiert. Sendet denselben Payload wie das Legacy-System. majorAvailable Listener. |
addListener | Höre auf Major-Update-Events in der App, um zu erfahren, wenn ein Major-Update durch das Setzen von disableAutoUpdateBreaking blockiert wird. |
addListener | Auf das Update-Fail-Event in der App hören, um zu erfahren, wenn die Installation beim nächsten App-Start fehlgeschlagen ist. |
addListener | Auf das Set-Event in der App hören, um zu wissen, wann ein Bundle erfolgreich angewendet wurde. Dieses Event wird nativ gespeichert, bis JavaScript es verarbeitet. Falls die App neu lädt, bevor dein Listener bereit ist, wird das letzte ausstehende set Event sofort nach dem Abonnement des Listeners ausgelöst. |
addListener | Auf das Set-Next-Event in der App hören, um zu erfahren, wenn ein Bundle als nächstes zur Installation vorgemerkt wurde. |
addListener | Auf das Download-Fail-Event in der App hören, um zu erfahren, wenn der Download eines Bundles fehlgeschlagen ist. |
addListener | Auf das Reload-Event in der App hören, um zu wissen, wann ein Reload stattgefunden hat. |
addListener | Auf das App-Ready-Event in der App hören, um zu wissen, wann die App einsatzbereit ist. Dieses Event wird nativ gespeichert, bis JavaScript es verarbeitet, sodass es auch nach einem Reload geliefert werden kann, selbst wenn der Listener erst später beim App-Start registriert wird. |
addListener | Auf private Channel-Events hören, die ausgelöst werden, wenn versucht wird, einen Channel zu setzen, der kein Self-Assignment durch das Device erlaubt. |
addListener | Auf Änderungen des flexible Update-Status unter Android hören. |
isAutoUpdateAvailable | Prüfen, ob das Auto-Update-Feature verfügbar ist (nicht durch eine benutzerdefinierte Server-Konfiguration deaktiviert). |
getNextBundle | Erhalte Informationen über das Bundle, das für die Aktivierung beim nächsten Reload bereitsteht. |
getFailedUpdate | Rufe Informationen über das letzte Bundle ab, das nicht geladen werden konnte. |
setShakeMenu | Das Shake-Gesture-Menü für Debugging und Tests aktivieren oder deaktivieren. |
isShakeMenuEnabled | Prüfen, ob das Shake-Gesture-Debug-Menü aktuell aktiviert ist. |
setShakeChannelSelector | Den Shake-Channel-Selector zur Laufzeit aktivieren oder deaktivieren. |
isShakeChannelSelectorEnabled | Prüfen, ob der Shake-Channel-Selector aktuell aktiviert ist. |
getAppId | Die aktuell konfigurierte App ID abrufen, die für die Kommunikation mit dem Update-Server genutzt wird. |
setAppId | Die für die Kommunikation mit dem Update-Server genutzte App ID dynamisch ändern. |
getAppUpdateInfo | Informationen über die Verfügbarkeit der App im App Store oder Play Store abrufen. |
openAppStore | Öffne die App-Seite im App Store oder Play Store. |
performImmediateUpdate | Führe ein sofortiges In-App-Update auf Android durch. |
startFlexibleUpdate | Starte ein flexibles In-App-Update auf Android. |
completeFlexibleUpdate | Schließe ein flexibles In-App-Update auf Android ab. |
Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Referenz wird synchronisiert von src/definitions.ts in capacitor-Updater.
Weiter geht's mit @capgo/capacitor-updater
Abschnitt mit dem Titel „Weiter geht's mit @capgo/capacitor-updater“Wenn du es nutzt @capgo/capacitor-updater Um die Arbeit an nativen Plugins zu planen, verbinde sie mit Verwendung von @capgo/capacitor-updater für die native Funktion in der Verwendung von @capgo/capacitor-updater, Capgo Plugin-Verzeichnis für den Produkt-Workflow im Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für das Implementierungsdetail in Capacitor Plugins von Capgo, Plugins hinzufügen oder aktualisieren für das Implementierungsdetail beim Hinzufügen oder Aktualisieren von Plugins, und Ionic Enterprise Plugin-Alternativen für den Produkt-Workflow bei den Ionic Enterprise Plugin-Alternativen.