Funktionen und Einstellungen
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Updater-Plugin-Konfiguration
Abschnitt mit dem Titel „Updater-Plugin-Konfiguration“Siehe die Github Readme für weitere Informationen.
CapacitorUpdater kann mit diesen Optionen konfiguriert werden:
| Eigenschaft | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
appReadyTimeout | number | Konfiguriert die Anzahl der Millisekunden, die das native Plugin warten soll, bevor ein Update als „fehlgeschlagen“ gilt. Verfügbar für Android, iOS und Electron. | 10000 // (10 seconds) | |
responseTimeout | number | Konfiguriert die Anzahl der Millisekunden, die das native Plugin warten soll, bevor API als Timeout gilt. Verfügbar für Android, iOS und Electron. | 20000 // (20 seconds) | |
autoDeleteFailed | boolean | Konfiguriert, ob das Plugin fehlgeschlagene Bundles automatisch löschen soll. Verfügbar für Android, iOS und Electron. | true | |
autoDeletePrevious | boolean | Konfiguriert, ob das Plugin frühere Bundles nach einem erfolgreichen Update automatisch löschen soll. Verfügbar für Android, iOS und Electron. | true | |
autoUpdate | boolean | ‘off’ | ‘atBackground’ | ‘atInstall’ | ‘onLaunch’ | ‘always’ | ‘onlyDownload’ | Konfiguriert, wie das Plugin Auto Update über einen Update-Server nutzen soll. true entspricht „atBackground“, false entspricht „off“. - off: Auto Update deaktivieren - atBackground: Automatisch prüfen und herunterladen, dann anwenden, wenn die App in den Hintergrund wechselt - atInstall: Nur nach einer frischen Installation oder einem nativen App-Update sofort anwenden, andernfalls atBackground verwenden - onLaunch: Beim Start sofort anwenden, andernfalls nach dem Start-Check atBackground verwenden - always: Immer sofort anwenden, wenn Auto Update ausgeführt wird - onlyDownload: Automatisch prüfen und herunterladen, updateAvailable auslösen und das nächste Bundle nie automatisch setzen. Sofort-Anwendungsmodi („atInstall“, „onLaunch“, „always“) sollten mit —delta hochgeladen werden, damit das Update die Nutzererfahrung nicht verlangsamt. Auf Android und iOS erfordern diese Modi autoSplashscreen: true und @capacitor/splash-screen mit launchAutoHide: false. Verfügbar für Android, iOS und Electron. | “atBackground” // true is still accepted | |
resetWhenUpdate | boolean | Löscht automatisch zuvor heruntergeladene Bundles, wenn ein neueres natives App-Bundle auf dem Gerät installiert wird. Verfügbar für Android, iOS und Electron. | true | |
updateUrl | string | Konfiguriert die URL / den Endpoint, an den Update-Checks gesendet werden. Verfügbar für Android, iOS und Electron. | https://plugin.capgo.app/updates | |
channelUrl | string | Konfiguriert die URL / den Endpoint für Channel-Operationen. Verfügbar für Android, iOS und Electron. | https://plugin.capgo.app/channel_self | |
statsUrl | string | Konfiguriert die URL / den Endpoint, an den Update-Statistiken gesendet werden. Verfügbar für Android, iOS und Electron. Auf "" setzen, um das Senden von Statistiken zu deaktivieren. | https://plugin.capgo.app/stats | |
publicKey | string | Konfiguriert den Public Key für die live update-End-to-End-Verschlüsselung Version 2. Verfügbar für Android, iOS und Electron. | undefined | 6.2.0 |
version | string | Konfiguriert die aktuelle App-Version. Diese wird für die erste Update-Anfrage verwendet. Falls nicht gesetzt, liest das Plugin die Version aus dem nativen code. Verfügbar für Android, iOS und Electron. | undefined | 4.17.48 |
directUpdate | boolean | ‘always’ | ‘atInstall’ | ‘onLaunch’ | Veraltet. Nutze stattdessen die autoUpdate-String-Modi: „atInstall“, „onLaunch“ oder „always“. Diese Option wird für bestehende Apps weiterhin unterstützt. Instant Apply sollte mit —delta hochgeladen werden, damit das Update die User Experience nicht verlangsamt. Auf Android und iOS erfordern diese Modi autoSplashscreen: true und @capacitor/splash-screen mit launchAutoHide: false. - false: Keine direkten Updates - atInstall: Wie autoUpdate: „atInstall“ - onLaunch: Wie autoUpdate: „onLaunch“ - always: Wie autoUpdate: „always“ - true: Wie „always“ aus Gründen der Abwärtskompatibilität. Verfügbar für Android, iOS und Electron. | false | 5.1.0 |
autoSplashscreen | boolean | Erforderlich bei Verwendung der Instant-Apply-Modi („atInstall“, „onLaunch“ oder „always“), einschließlich der veralteten directUpdate-Werte. @capacitor/splash-screen muss installiert und mit launchAutoHide: false konfiguriert sein. Wenn aktiviert, blendet das Plugin den Splashscreen nach dem Anwenden von Updates oder wenn kein Update nötig ist aus. Dadurch entfallen das manuelle Abfangen von appReady-Events und der Aufruf von SplashScreen.hide(). Verfügbar für Android und iOS. | false | 7.6.0 |
periodCheckDelay | number | Konfiguriert das Zeitintervall für regelmäßige Update-Checks. Die Einheit ist Sekunden. Verfügbar für Android, iOS und Electron. Darf nicht weniger als 600 Sekunden (10 Minuten) betragen. | 600 // (10 minutes) | |
localS3 | boolean | Konfiguriert CLI, um einen lokalen Server für Tests oder einen selbst gehosteten Update-Server zu verwenden. | undefined | 4.17.48 |
localHost | string | Konfiguriert CLI, um einen lokalen Server für Tests oder einen selbst gehosteten Update-Server zu verwenden. | undefined | 4.17.48 |
localWebHost | string | Konfiguriert CLI, um einen lokalen Server für Tests oder einen selbst gehosteten Update-Server zu verwenden. | undefined | 4.17.48 |
localSupa | string | Konfiguriert CLI, um einen lokalen Server für Tests oder einen selbst gehosteten Update-Server zu verwenden. | undefined | 4.17.48 |
localSupaAnon | string | Konfiguriert CLI, um für Tests einen lokalen Server zu verwenden. | undefined | 4.17.48 |
localApi | string | Konfiguriert CLI, um für Tests einen lokalen api zu verwenden. | undefined | 6.3.3 |
localApiFiles | string | Konfiguriert CLI, um für Tests eine lokale Datei-api zu verwenden. | undefined | 6.3.3 |
allowModifyUrl | boolean | Erlaubt dem Plugin, updateUrl, statsUrl und channelUrl dynamisch von der JavaScript-Seite aus zu ändern. | false | 5.4.0 |
defaultChannel | string | Legt den Standard-Channel für die App in der Config fest. Case-sensitive. Diese Einstellung überschreibt den in der Cloud gesetzten Standard-Channel, respektiert aber Cloud-Overrides. | undefined | 5.5.0 |
appId | string | Konfiguriert die App-ID für die App in der Config. | undefined | 6.0.0 |
keepUrlPathAfterReload | boolean | Konfiguriere das Plugin so, dass der URL-Pfad nach einem Reload erhalten bleibt. WARNUNG: Wenn ein Reload ausgelöst wird, wird ‘window.history’ geleert. | false | 6.8.0 |
disableJSLogging | boolean | Deaktiviere das JavaScript-Logging des Plugins. Wenn true, loggt das Plugin nicht in die JavaScript-Konsole; es wird nur das native Log geschrieben. | false | 7.3.0 |
shakeMenu | boolean | Aktiviere die Shake-Geste, um das Update-Menü zum Debuggen oder Testen anzuzeigen. | false | 7.5.0 |
Beispiele
Abschnitt „Beispiele“Unter capacitor.config.json:
{ "plugins": { "CapacitorUpdater": { "appReadyTimeout": 1000 // (1 second), "responseTimeout": 10 // (10 second), "autoDeleteFailed": false, "autoDeletePrevious": false, "autoUpdate": "onlyDownload", "resetWhenUpdate": false, "updateUrl": https://example.com/api/auto_update, "channelUrl": https://example.com/api/channel, "statsUrl": https://example.com/api/stats, "publicKey": undefined, "version": undefined, "directUpdate": undefined, "autoSplashscreen": undefined, "periodCheckDelay": undefined, "localS3": undefined, "localHost": undefined, "localWebHost": undefined, "localSupa": undefined, "localSupaAnon": undefined, "localApi": undefined, "localApiFiles": undefined, "allowModifyUrl": undefined, "defaultChannel": undefined, "appId": undefined, "keepUrlPathAfterReload": undefined, "disableJSLogging": undefined, "shakeMenu": undefined } }}Unter capacitor.config.ts:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { appReadyTimeout: 1000 // (1 second), responseTimeout: 10 // (10 second), autoDeleteFailed: false, autoDeletePrevious: false, autoUpdate: 'onlyDownload', resetWhenUpdate: false, updateUrl: https://example.com/api/auto_update, channelUrl: https://example.com/api/channel, statsUrl: https://example.com/api/stats, publicKey: undefined, version: undefined, directUpdate: undefined, autoSplashscreen: undefined, periodCheckDelay: undefined, localS3: undefined, localHost: undefined, localWebHost: undefined, localSupa: undefined, localSupaAnon: undefined, localApi: undefined, localApiFiles: undefined, allowModifyUrl: undefined, defaultChannel: undefined, appId: undefined, keepUrlPathAfterReload: undefined, disableJSLogging: undefined, shakeMenu: undefined, }, },};
export default config;notifyAppReady()setUpdateUrl(...)setStatsUrl(...)setChannelUrl(...)download(...)next(...)set(...)delete(...)list(...)reset(...)current()reload()setMultiDelay(...)cancelDelay()getLatest(...)setChannel(...)unsetChannel(...)getChannel()listChannels()setCustomId(...)getBuiltinVersion()getDeviceId()getPluginVersion()isAutoUpdateEnabled()removeAllListeners()addListener('download', ...)addListener('noNeedUpdate', ...)addListener('updateAvailable', ...)addListener('downloadComplete', ...)addListener('majorAvailable', ...)addListener('updateFailed', ...)addListener('downloadFailed', ...)addListener('appReloaded', ...)addListener('appReady', ...)isAutoUpdateAvailable()getNextBundle()setShakeMenu(...)isShakeMenuEnabled()- Schnittstellen
- Type-Aliase
Methoden
Abschnitt „Methoden“notifyAppReady()
Abschnitt „notifyAppReady()“notifyAppReady() => Promise<AppReadyResult>Benachrichtigt den Capacitor Updater, dass das aktuelle Bundle funktioniert (ein Rollback erfolgt, wenn diese Methode nicht bei jedem App-Start aufgerufen wird). Standardmäßig sollte diese Methode innerhalb der ersten 10 Sekunden nach dem App-Start aufgerufen werden, andernfalls erfolgt ein Rollback. Ändere dieses Verhalten mit {@link appReadyTimeout}.
Rückgabe: Promise<AppReadyResult>
setUpdateUrl(…)
Abschnitt „setUpdateUrl(…)“setUpdateUrl(options: UpdateUrl) => Promise<void>Setzt die updateUrl für die App; diese wird verwendet, um nach Updates zu suchen.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | UpdateUrl | enthält die URL, die zur Überprüfung auf Updates verwendet wird. |
Seit: 5.4.0
setStatsUrl(…)
Abschnitt mit dem Titel „setStatsUrl(…)“setStatsUrl(options: StatsUrl) => Promise<void>Legt die statsUrl für die App fest. Diese wird verwendet, um Statistiken zu senden. Das Übergeben eines leeren Strings deaktiviert die Erfassung von Statistiken.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | StatsUrl | enthält die URL, die zum Senden von Statistiken verwendet wird. |
Seit: 5.4.0
setChannelUrl(…)
Abschnitt mit dem Titel „setChannelUrl(…)“setChannelUrl(options: ChannelUrl) => Promise<void>Setzt die channelUrl für die App; damit wird der Channel festgelegt.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | ChannelUrl | enthält die URL, mit der der Channel gesetzt wird. |
Seit: 5.4.0
download(…)
Abschnitt mit dem Titel „download(…)“download(options: DownloadOptions) => Promise<BundleInfo>Lade ein neues Bundle von der angegebenen URL herunter. Es sollte eine ZIP-Datei sein, entweder mit Dateien im Inneren oder mit einer eindeutigen ID, die alle deine Dateien enthält.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | DownloadOptions | Die {@link DownloadOptions} zum Herunterladen eines neuen Bundle-ZIPs. |
Rückgabe: Promise<BundleInfo>
next(options: BundleId) => Promise<BundleInfo>Setze das nächste Bundle, das beim Neuladen der App verwendet werden soll.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | BundleId | Enthält die ID des nächsten Bundles, das beim nächsten App-Start gesetzt wird. {@link BundleInfo.id} |
Rückgabe: Promise<BundleInfo>
set(options: BundleId) => Promise<void>Setzt das aktuelle Bundle und lädt die App sofort neu.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | BundleId | Ein {@link BundleId}-Objekt mit der neuen Bundle-ID, die als aktuelle gesetzt werden soll. |
delete(…)
Abschnitt mit dem Titel „delete(…)“delete(options: BundleId) => Promise<void>Löscht das angegebene Bundle aus dem nativen App-Speicher. Verwende {@link list}, um die gespeicherten Bundle-IDs abzurufen.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | BundleId | Ein {@link BundleId} Objekt mit der ID eines zu löschenden Bundles (Hinweis: Dies ist die Bundle-ID, NICHT der Versionsname) |
list(options?: ListOptions | undefined) => Promise<BundleListResult>Alle lokal in deiner App heruntergeladenen Bundles abrufen
| Parameter | Typ | Beschreibung |
|---|---|---|
options | ListOptions | Die {@link ListOptions} zum Auflisten von Bundles |
Rückgabe: Promise<BundleListResult>
reset(options?: ResetOptions | undefined) => Promise<void>Setzt die App auf das builtin Bundle (das an den Apple App Store / Google Play Store gesendet wurde) oder das zuletzt erfolgreich geladene Bundle zurück.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | ResetOptions | Enthält {@link ResetOptions.toLastSuccessful}, true setzt auf das integrierte Bundle zurück und false wird auf das zuletzt erfolgreich geladene Bundle zurückgesetzt. |
current()
Abschnitt mit dem Titel „current()“current() => Promise<CurrentBundleResult>Ruft das aktuelle Bundle ab. Falls keines gesetzt ist, wird builtinzurückgegeben. currentNative ist das ursprüngliche Bundle, das auf dem Gerät installiert ist
Rückgabe: Promise<CurrentBundleResult>
reload() => Promise<void>Lädt die Ansicht neu
setMultiDelay(…)
Abschnitt mit dem Titel „setMultiDelay(…)“setMultiDelay(options: MultiDelayConditions) => Promise<void>Setzt ein {@link DelayCondition}-Array mit Bedingungen, die das Plugin verwendet, um das Update zu verzögern.
Sobald alle Bedingungen erfüllt sind, läuft der Update-Prozess wie gewohnt wieder an, sodass das Update installiert wird, nachdem die App in den Hintergrund geschickt oder beendet wurde.
Beim date kind-Feld sollte der Wert ein ISO-8601-Datumsstring sein.
Beim background kind-Feld sollte der Wert eine Zahl in Millisekunden sein.
Beim nativeVersion kind-Feld sollte der Wert die Versionsnummer sein.
Beim kill kind-Feld wird der Wert nicht verwendet.
Die Funktion verhält sich inkonsistent: Die Option kill löst das Update schon nach dem ersten Kill aus und nicht erst nach dem nächsten Backgrounding wie andere Optionen. Das wird in einem zukünftigen Major-Release behoben.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | MultiDelayConditions | Enthält das {@link MultiDelayConditions}-Array mit Bedingungen zum Festlegen |
Seit: 4.3.0
cancelDelay()
Abschnitt mit dem Titel „cancelDelay()“cancelDelay() => Promise<void>Bricht eine {@link DelayCondition} ab, um ein Update sofort zu verarbeiten.
Seit: 4.0.0
getLatest(…)
Abschnitt mit dem Titel „getLatest(…)“getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>Neuestes verfügbares Bundle von der Update-URL abrufen
| Parameter | Typ |
|---|---|
options | GetLatestOptions |
Rückgabe: Promise<LatestVersion>
Seit: 4.0.0
setChannel(…)
Abschnitt mit dem Titel „setChannel(…)“setChannel(options: SetChannelOptions) => Promise<ChannelRes>Setzt den vom Plugin verwalteten lokalen Channel für dieses Gerät. Der Channel muss allow_device_self_set aktiviert sein, damit dies funktioniert.
setChannel() validiert den Channel mit dem Backend und speichert den ausgewählten Channel lokal auf dem Gerät. Ein Device Override wird im Backend nicht erstellt oder aktualisiert, daher erscheint das Gerät im Capgo-Dashboard nicht als überschrieben. Nur Zuweisungen, die über das Dashboard oder die Public API erstellt wurden, werden in der Device-Override-UI angezeigt.
Wichtige Hinweise:
- Verwende diese Methode nicht, um den Channel beim Start zu setzen. Nutze stattdessen
defaultChannelin deiner Capacitor-Konfiguration. - Diese Methode ist für die Nutzung gedacht, nachdem die App bereit ist und der Nutzer interagiert hat (z. B. wenn er einem Beta-Programm beitritt).
- Public Channels können nicht selbst zugewiesen werden. Wenn ein Channel als
public, callingsetChannel()einen Fehler zurück. Um einen Public Channel zu verwenden, rufeunsetChannel()stattdessen auf – das Gerät fällt automatisch auf den passenden Public Channel zurück. - Nutzt
listChannels()um herauszufinden, welche Channels verfügbar sind und ob sie Selbstzuweisung erlauben.
| Parameter | Typ | Beschreibung |
|---|---|---|
options | SetChannelOptions | Ist der {@link SetChannelOptions} Channel zum Setzen |
Rückgabe: Promise<ChannelRes>
Seit: 4.7.0
unsetChannel(…)
Abschnitt mit dem Titel „unsetChannel(…)“unsetChannel(options: UnsetChannelOptions) => Promise<void>Entferne den vom Plugin verwalteten lokalen Channel für dieses Gerät. Dadurch wird nur der lokal von setChannel(); Dashboard- oder Public API Device Override-Einträge werden dabei nicht gelöscht.
Nach dem Aufruf dieser Methode gilt die normale Channel-Priorität: Ein bestehender Dashboard- oder Public API Device Override hat weiterhin Vorrang; andernfalls kann das Gerät auf den passenden öffentlichen/Standard-Channel für seine Bedingungen (Plattform, Gerätetyp, Build-Typ) zurückfallen.
Das ist nützlich, wenn:
- Du ein Gerät zurück auf den Standard-Update-Track holen willst
- Du einen öffentlichen Channel nutzen willst (da öffentliche Channels nicht selbst über
setChannel())
| Parameter | Typ |
|---|---|
options | UnsetChannelOptions |
Seit: 4.7.0
getChannel()
Abschnitt mit dem Titel „getChannel()“getChannel() => Promise<GetChannelRes>Channel für dieses Gerät abrufen
Rückgabe: Promise<GetChannelRes>
Seit: 4.8.0
listChannels()
Abschnitt mit dem Titel „listChannels()“listChannels() => Promise<ListChannelsResult>Listet alle Kanäle auf, die für dieses Gerät verfügbar sind. Gibt Kanäle zurück, die mit der aktuellen Umgebung des Geräts (Plattform, Emulator/Echtgerät, Dev-/Prod-Build) kompatibel sind und entweder öffentlich sind oder die Selbstzuweisung erlauben.
Jeder Kanal im Ergebnis enthält:
public: Wenntrue, ist dies ein Default-Channel. Eine Selbstzuweisung ist damit nicht möglich übersetChannel(). Wenn Sie stattdessen Ihre Kanalzuweisung entfernen überunsetChannel(), erhält das Gerät automatisch Updates von diesem öffentlichen Channel.allow_self_set: Wenntrue, ist dies ein selbstzuweisbarer Channel. Du kannst das Gerät explizit diesem Channel zuweisen persetChannel().
Rückgabe: Promise<ListChannelsResult>
Seit: 7.5.0
setCustomId(…)
Abschnitt mit dem Titel „setCustomId(…)“setCustomId(options: SetCustomIdOptions) => Promise<void>Eine benutzerdefinierte ID für dieses Gerät festlegen
| Parameter | Typ | Beschreibung |
|---|---|---|
options | SetCustomIdOptions | ist die {@link SetCustomIdOptions} customId, die gesetzt werden soll |
Seit: 4.9.0
getBuiltinVersion()
Abschnitt mit dem Titel „getBuiltinVersion()“getBuiltinVersion() => Promise<BuiltinVersion>Ruft die native App-Version oder die in der Konfiguration festgelegte Built-in-Version ab
Rückgabe: Promise<BuiltinVersion>
Seit: 5.2.0
getDeviceId()
Abschnitt „getDeviceId()“getDeviceId() => Promise<DeviceId>Eindeutige ID zur Geräteidentifikation (wird an den Auto-Update-Server gesendet)
Rückgabe: Promise<DeviceId>
getPluginVersion()
Abschnitt mit dem Titel „getPluginVersion()“getPluginVersion() => Promise<PluginVersion>Ruft die Version des nativen Capacitor Updater-Plugins ab (wird an den Auto-Update-Server gesendet)
Rückgabe: Promise<PluginVersion>
isAutoUpdateEnabled()
Abschnitt mit dem Titel „isAutoUpdateEnabled()“isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>Ruft den Status der Auto-Update-Konfiguration ab.
Rückgabe: Promise<AutoUpdateEnabled>
removeAllListeners()
Abschnitt mit dem Titel „removeAllListeners()“removeAllListeners() => Promise<void>Entfernt alle Listener für dieses Plugin.
Seit: 1.0.0
addListener(‘download’, …)
Abschnitt mit dem Titel „addListener(‘download’, …)“addListener(eventName: 'download', listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>Hört auf das Bundle-Download-Event in der App. Wird ausgelöst, wenn ein Download gestartet wird, während des Downloads und bei Abschluss. Gibt während des Downloads den gesamten Download-Fortschritt in Prozent zurück.
| Parameter | Typ |
|---|---|
eventName | ‘download’ |
listenerFunc | (state: DownloadEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 2.0.11
addListener(‘noNeedUpdate’, …)
Abschnitt mit dem Titel „addListener(‘noNeedUpdate’, …)“addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>Hört auf das Ereignis „Kein Update erforderlich“, nützlich, wenn bei jedem App-Start ein erzwungener Check durchgeführt werden soll
| Parameter | Typ |
|---|---|
eventName | ‘noNeedUpdate’ |
listenerFunc | (state: NoNeedEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 4.0.0
addListener(‘updateAvailable’, …)
Abschnitt „addListener(‘updateAvailable’, …)“addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>Auf das Event für verfügbare Updates hören – ideal, wenn du bei jedem App-Start einen Check erzwingen willst
| Parameter | Typ |
|---|---|
eventName | ‘updateAvailable’ |
listenerFunc | (state: UpdateAvailableEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 4.0.0
addListener(‘downloadComplete’, …)
Abschnitt „addListener(‘downloadComplete’, …)“addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>Auf downloadComplete-Events hören.
| Parameter | Typ |
|---|---|
eventName | ‘downloadComplete’ |
listenerFunc | (state: DownloadCompleteEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 4.0.0
addListener(‘majorAvailable’, …)
Abschnitt mit dem Titel „addListener(‘majorAvailable’, …)“addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>Hört auf das Major-Update-Event in der App und meldet dir, wenn ein Major-Update durch Setzen von disableAutoUpdateBreaking blockiert wird
| Parameter | Typ |
|---|---|
eventName | ‘majorAvailable’ |
listenerFunc | (state: MajorAvailableEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 2.3.0
addListener(‘updateFailed’, …)
Abschnitt mit dem Titel „addListener(‘updateFailed’, …)“addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>Lauscht in der App auf das updateFailed-Event und informiert dich, wenn ein Update beim nächsten App-Start nicht installiert werden konnte
| Parameter | Typ |
|---|---|
eventName | ‘updateFailed’ |
listenerFunc | (state: UpdateFailedEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 2.3.0
addListener(‘downloadFailed’, …)
Abschnitt mit dem Titel „addListener(‘downloadFailed’, …)“addListener(eventName: 'downloadFailed', listenerFunc: (state: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>Lauscht in der App auf das downloadFailed-Event und informiert dich, wenn ein Bundle-Download fehlgeschlagen ist
| Parameter | Typ |
|---|---|
eventName | ‘downloadFailed’ |
listenerFunc | (state: DownloadFailedEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 4.0.0
addListener(‘appReloaded’, …)
Abschnitt mit dem Titel „addListener(‘appReloaded’, …)“addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>Hört auf Reload-Events in der App und informiert Sie, wenn ein Reload stattgefunden hat
| Parameter | Typ |
|---|---|
eventName | ‘appReloaded’ |
listenerFunc | () => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 4.3.0
addListener(‘appReady’, …)
Abschnitt mit dem Titel „addListener(‘appReady’, …)“addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>Hört auf das appReady-Event in der App und informiert Sie, wenn die App bereit zur Verwendung ist.
| Parameter | Typ |
|---|---|
eventName | ‘appReady’ |
listenerFunc | (state: AppReadyEvent) => void |
Rückgabe: Promise<PluginListenerHandle>
Seit: 5.1.0
isAutoUpdateAvailable()
Abschnitt mit dem Titel „isAutoUpdateAvailable()“isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>Prüft, ob ein automatisches Update verfügbar ist (nicht durch serverUrl deaktiviert).
Rückgabe: Promise<AutoUpdateAvailable>
getNextBundle()
Abschnitt mit dem Titel „getNextBundle()“getNextBundle() => Promise<BundleInfo | null>Ruft den nächsten Bundle ab, der beim Neuladen der App verwendet wird. Gibt null zurück, wenn kein nächster Bundle festgelegt ist.
Rückgabe: Promise<BundleInfo | null>
Seit: 6.8.0
setShakeMenu(…)
Abschnitt mit dem Titel „setShakeMenu(…)“setShakeMenu(options: SetShakeMenuOptions) => Promise<void>Aktiviert oder deaktiviert das Shake-Menü zu Debugging- und Testzwecken
| Parameter | Typ | Beschreibung |
|---|---|---|
options | SetShakeMenuOptions | Enthält einen booleschen Wert, um das Shake-Menü zu aktivieren oder zu deaktivieren |
Seit: 7.5.0
isShakeMenuEnabled()
Abschnitt mit dem Titel „isShakeMenuEnabled()“isShakeMenuEnabled() => Promise<ShakeMenuEnabled>Ruft den aktuellen Zustand des Shake-Menüs ab
Rückgabe: Promise<ShakeMenuEnabled>
Seit: 7.5.0
Schnittstellen
Abschnitt mit dem Titel „Interfaces“AppReadyResult
Abschnitt mit dem Titel „AppReadyResult“| Prop | Typ |
|---|---|
bundle | BundleInfo |
BundleInfo
Abschnitt mit dem Titel „BundleInfo“| Prop | Typ |
|---|---|
id | string |
version | string |
downloaded | string |
checksum | string |
status | BundleStatus |
UpdateUrl
Abschnitt mit dem Titel „UpdateUrl“| Prop | Typ |
|---|---|
url | string |
| Prop | Typ |
|---|---|
url | string |
ChannelUrl
Abschnitt mit dem Titel „ChannelUrl“| Prop | Typ |
|---|---|
url | string |
DownloadOptions
Abschnitt mit dem Titel „DownloadOptions“Diese URL und die Versionen werden verwendet, um das Bundle vom Server herunterzuladen. Wenn du ein Backend verwendest, liefert die Methode getLatest alle Informationen. Wenn du kein Backend verwendest, musst du die URL und die Version des Bundles angeben. SessionKey sind erforderlich, wenn du das Bundle mit dem Befehl CLI encrypt verschlüsselt hast; du erhältst sie als Ergebnis des Befehls.
| Prop | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
url | string | Die URL der Bundle-Zip-Datei (z. B. dist.zip), die heruntergeladen werden soll. (Das kann jede beliebige URL sein, z. B. Amazon S3, ein GitHub-Tag oder jeder andere Ort, an dem du dein Bundle gehostet hast.) | ||
version | string | Die Version code/Name dieses Bundles/Version | ||
sessionKey | string | Der Session-Key für das Update, wenn das Bundle mit einem Session-Key verschlüsselt ist | undefined | 4.0.0 |
checksum | string | Die Checksumme für das Update; sie sollte als SHA256 vorliegen und, falls das Bundle verschlüsselt ist, mit dem Private Key verschlüsselt sein | undefined | 4.0.0 |
manifest | ManifestEntry[] | Das Manifest für Delta-Downloads (manifest) mit mehreren Dateien | undefined | 6.1.0 |
ManifestEntry
Abschnitt mit dem Titel „ManifestEntry“| Prop | Typ |
|---|---|
file_name | string | null |
file_hash | string | null |
download_url | string | null |
| Prop | Typ |
|---|---|
id | string |
BundleListResult
Abschnitt mit dem Titel „BundleListResult“| Prop | Typ |
|---|---|
bundles | BundleInfo[] |
ListOptions
Abschnitt mit dem Titel „ListOptions“| Prop | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
raw | boolean | Ob die rohe Bundle-Liste oder das Manifest zurückgegeben werden soll. Wenn true, versucht die Liste, statt der Dateien auf der Festplatte die interne Datenbank zu lesen. | false | 6.14.0 |
ResetOptions
Abschnitt mit dem Titel „ResetOptions“| Prop | Typ |
|---|---|
toLastSuccessful | boolean |
CurrentBundleResult
Abschnitt mit dem Titel „CurrentBundleResult“| Prop | Typ |
|---|---|
bundle | BundleInfo |
native | string |
MultiDelayConditions
Abschnitt mit dem Titel „MultiDelayConditions“| Prop | Typ |
|---|---|
delayConditions | DelayCondition[] |
DelayCondition
Abschnitt mit dem Titel „DelayCondition“| Prop | Typ | Beschreibung |
|---|---|---|
kind | DelayUntilNext | Verzögerungsbedingungen in setMultiDelay festlegen |
value | string |
LatestVersion
Abschnitt „LatestVersion“| Eigenschaft | Typ | Beschreibung | Seit |
|---|---|---|---|
version | string | Ergebnis der getLatest-Methode | 4.0.0 |
checksum | string | 6 | |
major | boolean | ||
message | string | ||
sessionKey | string | ||
error | string | ||
old | string | ||
url | string | ||
manifest | ManifestEntry[] | 6.1 |
GetLatestOptions
Abschnitt „GetLatestOptions“| Eigenschaft | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
channel | string | Der Channel, für den die neueste Version geholt werden soll. Der Channel muss ‘self_assign’ erlauben, damit das funktioniert. | undefined | 6.8.0 |
ChannelRes
Abschnitt mit dem Titel „ChannelRes“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
status | string | Aktueller Status von „set channel“ | 4.7.0 |
error | string | ||
message | string |
SetChannelOptions
Abschnitt mit dem Titel „SetChannelOptions“| Prop | Typ |
|---|---|
channel | string |
triggerAutoUpdate | boolean |
UnsetChannelOptions
Abschnitt „UnsetChannelOptions“| Prop | Typ |
|---|---|
triggerAutoUpdate | boolean |
GetChannelRes
Abschnitt „GetChannelRes“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
channel | string | Aktueller Status von get channel | 4.8.0 |
error | string | ||
message | string | ||
status | string | ||
allowSet | boolean |
ListChannelsResult
Abschnitt „ListChannelsResult“| Eigenschaft | Typ | Beschreibung | Seit |
|---|---|---|---|
channels | ChannelInfo[] | Liste der verfügbaren Kanäle | 7.5.0 |
ChannelInfo
Abschnitt mit dem Titel „ChannelInfo“| Eigenschaft | Typ | Beschreibung | Seit |
|---|---|---|---|
id | number | Die numerische Channel-ID | 7.5.0 |
name | string | Der Channel-Name | 7.5.0 |
public | boolean | Wenn true, ist dies ein Default-/Fallback-Channel. Geräte können sich nicht selbst öffentlichen Channels zuweisen. Wenn ein Gerät stattdessen seinen Channel-Override entfernt (mit unsetChannel()), erhält es automatisch Updates vom passenden öffentlichen Channel. | 7.5.0 |
allow_self_set | boolean | Wenn true, können Geräte sich explizit selbst diesem Channel zuweisen, indem sie setChannel() verwenden. Dies wird meist für Beta-Tests, A/B-Tests oder Opt-in-Update-Tracks genutzt. | 7.5.0 |
Channel-Commands nutzen den Channel name, nicht diese numerische id.
SetCustomIdOptions
Abschnitt mit dem Titel „SetCustomIdOptions“| Prop | Typ |
|---|---|
customId | string |
BuiltinVersion
Abschnitt mit dem Titel „BuiltinVersion“| Eigenschaft | Typ |
|---|---|
version | string |
| Eigenschaft | Typ |
|---|---|
deviceId | string |
PluginVersion
Abschnitt mit dem Titel „PluginVersion“| Eigenschaft | Typ |
|---|---|
version | string |
AutoUpdateEnabled
Abschnitt mit dem Titel „AutoUpdateEnabled“| Prop | Typ |
|---|---|
enabled | boolean |
PluginListenerHandle
Abschnitt mit dem Titel „PluginListenerHandle“| Prop | Typ |
|---|---|
remove | () => Promise<void> |
DownloadEvent
Abschnitt mit dem Titel „DownloadEvent“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
percent | number | Aktueller Download-Status, zwischen 0 und 100. | 4.0.0 |
bundle | BundleInfo |
NoNeedEvent
Abschnitt mit dem Titel „NoNeedEvent“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
bundle | BundleInfo | Aktueller Download-Status, zwischen 0 und 100. | 4.0.0 |
UpdateAvailableEvent
Abschnitt mit dem Titel „UpdateAvailableEvent“| Eigenschaft | Typ | Beschreibung | Seit |
|---|---|---|---|
bundle | BundleInfo | Aktueller Download-Status, zwischen 0 und 100. | 4.0.0 |
DownloadCompleteEvent
Abschnitt mit dem Titel „DownloadCompleteEvent“| Eigenschaft | Typ | Beschreibung | Seit |
|---|---|---|---|
bundle | BundleInfo | Wird ausgelöst, wenn ein neues Update verfügbar ist. | 4.0.0 |
MajorAvailableEvent
Abschnitt mit dem Titel „MajorAvailableEvent“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
version | string | Wird ausgelöst, wenn ein neues Major-Bundle verfügbar ist. | 4.0.0 |
UpdateFailedEvent
Abschnitt mit dem Titel „UpdateFailedEvent“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
bundle | BundleInfo | Emit when a update failed to install. | 4.0.0 |
DownloadFailedEvent
Abschnitt „DownloadFailedEvent“| Prop | Typ | Beschreibung | Seit |
|---|---|---|---|
version | string | Wird ausgelöst, wenn ein Download fehlgeschlagen ist. | 4.0.0 |
AppReadyEvent
Abschnitt mit dem Titel „AppReadyEvent“| Eigenschaft | Typ | Beschreibung | Seit |
|---|---|---|---|
bundle | BundleInfo | Wird ausgelöst, wenn die App bereit zur Verwendung ist. | 5.2.0 |
status | string |
AutoUpdateAvailable
Abschnitt mit dem Titel „AutoUpdateAvailable“| Eigenschaft | Typ |
|---|---|
available | boolean |
SetShakeMenuOptions
Abschnitt mit dem Titel „SetShakeMenuOptions“| Eigenschaft | Typ |
|---|---|
enabled | boolean |
ShakeMenuEnabled
Abschnitt mit dem Titel „ShakeMenuEnabled“| Prop | Typ |
|---|---|
enabled | boolean |
Type-Aliase
Abschnitt mit dem Titel „Type Aliases“BundleStatus
Abschnitt mit dem Titel „BundleStatus“pending: Das Bundle wartet darauf, als SET nächstes Bundle festgelegt zu werden. downloading: Das Bundle wird heruntergeladen. success: Das Bundle wurde heruntergeladen und ist bereit, als SET als nächstes Bundle. Fehler: Das Bundle konnte nicht heruntergeladen werden.
‘success’ | ‘error’ | ‘pending’ | ‘downloading’
DelayUntilNext
Abschnitt mit dem Titel „DelayUntilNext“‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’
Weiter geht's mit Functions und Einstellungen
Abschnitt mit dem Titel „Weitermachen aus Funktionen und Einstellungen“Wenn du es nutzt Funktionen und Einstellungen um Dashboard- und API-Operationen zu planen, verbinde es mit Verwendung von @capgo/capacitor-updater für die native Funktion in der Verwendung von @capgo/capacitor-updater, API Übersicht für Details zur Implementierung im API Overview, Einführung für die Implementierungsdetails in der Einleitung, API Schlüssel für das Implementierungsdetail in API Keys und Geräte für das Implementierungsdetail in Devices.