Zum Inhalt springen

Funktionen und Einstellungen

Updater Plugin Konfiguration

Siehe Github Readme für weitere Informationen

CapacitorUpdater kann mit diesen Optionen konfiguriert werden:

EigenschaftTypBeschreibungStandardSeit
appReadyTimeoutnumberKonfiguriert die Anzahl der Millisekunden, die das native Plugin warten soll, bevor ein Update als ‘fehlgeschlagen’ gilt. Nur verfügbar für Android und iOS10000 // (10 Sekunden)
responseTimeoutnumberKonfiguriert die Anzahl der Millisekunden, die das native Plugin warten soll, bevor API-Timeout eintritt. Nur verfügbar für Android und iOS20 // (20 Sekunden)
autoDeleteFailedbooleanKonfiguriert, ob das Plugin fehlgeschlagene Bundles automatisch löschen soll. Nur verfügbar für Android und iOStrue
autoDeletePreviousbooleanKonfiguriert, ob das Plugin vorherige Bundles nach einem erfolgreichen Update automatisch löschen soll. Nur verfügbar für Android und iOStrue
autoUpdatebooleanKonfiguriert, ob das Plugin Auto-Update über einen Update-Server verwenden soll. Nur verfügbar für Android und iOStrue
resetWhenUpdatebooleanLöscht automatisch zuvor heruntergeladene Bundles, wenn ein neueres natives App-Bundle auf dem Gerät installiert wird. Nur verfügbar für Android und iOStrue
updateUrlstringKonfiguriert die URL / den Endpunkt, an den Update-Prüfungen gesendet werden. Nur verfügbar für Android und iOShttps://plugincapgoapp/updates
channelUrlstringKonfiguriert die URL / den Endpunkt für Kanal-Operationen. Nur verfügbar für Android und iOShttps://plugincapgoapp/channel_self
statsUrlstringKonfiguriert die URL / den Endpunkt, an den Update-Statistiken gesendet werden. Nur verfügbar für Android und iOS. Auf "" setzen, um Statistik-Reporting zu deaktivierenhttps://plugincapgoapp/stats
privateKeystringKonfiguriert den privaten Schlüssel für Ende-zu-Ende Live-Update-Verschlüsselung. Nur verfügbar für Android und iOS. Veraltet in Version 6.2.0, wird in Version 7.0.0 entferntundefined
publicKeystringKonfiguriert den öffentlichen Schlüssel für Ende-zu-Ende Live-Update-Verschlüsselung Version 2. Nur verfügbar für Android und iOSundefined6.2.0
versionstringKonfiguriert die aktuelle Version der App. Wird für die erste Update-Anfrage verwendet. Wenn nicht gesetzt, holt das Plugin die Version aus dem nativen Code. Nur verfügbar für Android und iOSundefined4.17.48
directUpdatebooleanLässt das Plugin Updates direkt installieren, wenn die App gerade aktualisiert/installiert wurde. Nur für autoUpdate-Modus. Nur verfügbar für Android und iOSundefined5.1.0
periodCheckDelaynumberKonfiguriert die Verzögerungsperiode für periodische Update-Prüfungen in Sekunden. Nur verfügbar für Android und iOS. Kann nicht weniger als 600 Sekunden (10 Minuten) sein600 // (10 Minuten)
localS3booleanKonfiguriert die CLI zur Verwendung eines lokalen Servers für Tests oder selbst-gehosteten Update-Serverundefined4.17.48
localHoststringKonfiguriert die CLI zur Verwendung eines lokalen Servers für Tests oder selbst-gehosteten Update-Serverundefined4.17.48
localWebHoststringKonfiguriert die CLI zur Verwendung eines lokalen Servers für Tests oder selbst-gehosteten Update-Serverundefined4.17.48
localSupastringKonfiguriert die CLI zur Verwendung eines lokalen Servers für Tests oder selbst-gehosteten Update-Serverundefined4.17.48
localSupaAnonstringKonfiguriert die CLI zur Verwendung eines lokalen Servers für Testsundefined4.17.48
localApistringKonfiguriert die CLI zur Verwendung einer lokalen API für Testsundefined6.3.3
localApiFilesstringKonfiguriert die CLI zur Verwendung einer lokalen Datei-API für Testsundefined6.3.3
allowModifyUrlbooleanErlaubt dem Plugin, updateUrl, statsUrl und channelUrl dynamisch von der JavaScript-Seite zu ändernfalse5.4.0
defaultChannelstringSetzt den Standard-Kanal für die App in der Konfigurationundefined4.17.48
appIdstringApp-ID in der Konfiguration für die App konfigurierenundefined600
keepUrlPathAfterReloadbooleanPlugin so konfigurieren, dass der URL-Pfad nach einem Reload erhalten bleibt WARNUNG: Wenn ein Reload ausgelöst wird, wird ‘windowhistory’ gelöschtfalse680

Beispiele

In capacitorconfigjson:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 1000 // (1 Sekunde),
"responseTimeout": 10 // (10 Sekunden),
"autoDeleteFailed": false,
"autoDeletePrevious": false,
"autoUpdate": false,
"resetWhenUpdate": false,
"updateUrl": https://examplecom/api/auto_update,
"channelUrl": https://examplecom/api/channel,
"statsUrl": https://examplecom/api/stats,
"privateKey": undefined,
"publicKey": undefined,
"version": undefined,
"directUpdate": 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
}
}
}

In capacitorconfigts:

/// <reference types="@capgo/capacitor-updater" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
appReadyTimeout: 1000 // (1 Sekunde),
responseTimeout: 10 // (10 Sekunden),
autoDeleteFailed: false,
autoDeletePrevious: false,
autoUpdate: false,
resetWhenUpdate: false,
updateUrl: https://examplecom/api/auto_update,
channelUrl: https://examplecom/api/channel,
statsUrl: https://examplecom/api/stats,
privateKey: undefined,
publicKey: undefined,
version: undefined,
directUpdate: 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,
},
},
};
export default config;

Methoden

notifyAppReady()

notifyAppReady() => Promise<AppReadyResult>

Benachrichtigt 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 Dieses Verhalten kann mit {@link appReadyTimeout} geändert werden

Returns: Promise<AppReadyResult>


setUpdateUrl()

setUpdateUrl(options: UpdateUrl) => Promise<void>

Legt die updateUrl für die App fest, diese wird zum Prüfen auf Updates verwendet

ParamTypeDescription
optionsUpdateUrlenthält die URL, die für Update-Prüfungen genutzt wird

Seit: 540


setStatsUrl()

setStatsUrl(options: StatsUrl) => Promise<void>

Legt die statsUrl für die App fest, diese wird zum Senden von Statistiken verwendet. Wenn ein leerer String übergeben wird, wird die Erfassung von Statistiken deaktiviert

ParamTypeDescription
optionsStatsUrlenthält die URL, die für das Senden von Statistiken verwendet wird

Seit: 540


setChannelUrl()

setChannelUrl(options: ChannelUrl) => Promise<void>

Legt die channelUrl für die App fest, diese wird zum Setzen des Kanals verwendet

ParamTypeDescription
optionsChannelUrlenthält die URL, die für das Setzen des Kanals verwendet wird

Seit: 540


download()

download(options: DownloadOptions) => Promise<BundleInfo>

Lädt ein neues Bundle von der angegebenen URL herunter, es sollte eine ZIP-Datei sein, mit Dateien innerhalb oder mit einer eindeutigen ID innerhalb mit all Ihren Dateien

ParamTypeDescription
optionsDownloadOptionsDie {@link DownloadOptions} für das Herunterladen eines neuen Bundle-ZIPs

Returns: Promise<BundleInfo>


next()

next(options: BundleId) => Promise<BundleInfo>

Legt das nächste Bundle fest, das verwendet werden soll, wenn die App neu geladen wird| Param | Type | Beschreibung | | ------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------- | | options | BundleId | Enthält die ID des nächsten Bundles, das beim nächsten App-Start gesetzt wird {@link BundleInfoid} |

Returns: Promise<BundleInfo>


set()

set(options: BundleId) => Promise<void>

Setzt das aktuelle Bundle und lädt die App sofort neu

ParamTypeBeschreibung
optionsBundleIdEin {@link BundleId} Objekt, das die neue Bundle-ID enthält

delete()

delete(options: BundleId) => Promise<void>

Löscht das angegebene Bundle aus dem nativen App-Speicher. Verwenden Sie {@link list} um die gespeicherten Bundle-IDs zu erhalten

ParamTypeBeschreibung
optionsBundleIdEin {@link BundleId} Objekt, das die ID des zu löschenden Bundles enthält (Hinweis: dies ist die Bundle-ID, NICHT der Versionsname)

list()

list(options?: ListOptions | undefined) => Promise<BundleListResult>

Alle lokal heruntergeladenen Bundles in Ihrer App abrufen

ParamTypeBeschreibung
optionsListOptionsDie {@link ListOptions} für das Auflisten von Bundles

Returns: Promise<BundleListResult>


reset()

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

ParamTypeBeschreibung
optionsResetOptionsEnthält {@link ResetOptionstoLastSuccessful}, true setzt auf das builtin Bundle zurück und false setzt auf das zuletzt erfolgreich geladene Bundle zurück

current()

current() => Promise<CurrentBundleResult>

Ruft das aktuelle Bundle ab, wenn keines gesetzt ist, wird ‘builtin’ zurückgegeben. currentNative ist das ursprünglich auf dem Gerät installierte Bundle

Returns: Promise<CurrentBundleResult>


reload()

reload() => Promise<void>

Die Ansicht neu laden


setMultiDelay()

setMultiDelay(options: MultiDelayConditions) => Promise<void>

Setzt ein {@link DelayCondition} Array mit Bedingungen, die das Plugin verwendet, um das Update zu verzögern Nachdem alle Bedingungen erfüllt sind, wird der Update-Prozess wie gewohnt neu gestartet, sodass das Update nach dem Hintergrundsetzen oder Beenden der App installiert wird Für die Art ‘date’ sollte der Wert ein iso8601-Datums-String sein Für die Art ‘background’ sollte der Wert eine Zahl in Millisekunden sein Für die Art ‘nativeVersion’ sollte der Wert die Versionsnummer sein Für die Art ‘kill’ wird der Wert nicht verwendet Die Funktion hat inkonsistentes Verhalten: Die Option kill löst das Update nach dem ersten Beenden aus und nicht nach dem nächsten Hintergrundsetzen wie andere Optionen. Dies wird in einem zukünftigen Major Release behoben

ParamTypeBeschreibung
optionsMultiDelayConditionsEnthält das {@link MultiDelayConditions} Array von Bedingungen

Seit: 430


cancelDelay()

cancelDelay() => Promise<void>

Bricht eine {@link DelayCondition} ab, um ein Update sofort zu verarbeiten

Seit: 400


getLatest()

getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>

Neuestes verfügbares Bundle von der Update-URL abrufen

ParamType
optionsGetLatestOptions

Returns: Promise<LatestVersion>

Seit: 400


setChannel()

setChannel(options: SetChannelOptions) => Promise<ChannelRes>

Setzt den Kanal für dieses Gerät. Der Kanal muss Selbstzuweisung erlauben, damit dies funktioniert Verwenden Sie diese Methode nicht, um den Kanal beim Start zu setzen, wenn autoUpdate in der {@link PluginsConfig} aktiviert ist Diese Methode dient dazu, den Kanal zu setzen, nachdem die App bereit ist Diese Methode sendet eine Anfrage an den Capgo-Backend, um die Geräte-ID mit dem Kanal zu verknüpfen. Capgo kann dies je nach den Einstellungen Ihres Kanals akzeptieren oder ablehnen

ParamTypeBeschreibung
optionsSetChannelOptionsIst die {@link SetChannelOptions} Kanal zu setzen

Returns: Promise<ChannelRes>

Seit: 470


unsetChannel()

unsetChannel(options: UnsetChannelOptions) => Promise<void>

Hebt die Einstellung des Kanals für dieses Gerät aufDas Gerät kehrt dann zum Standardkanal zurück

ParamType
optionsUnsetChannelOptions

Seit: 470


getChannel()

getChannel() => Promise<GetChannelRes>

Rufe den Kanal für dieses Gerät ab

Returns: Promise<GetChannelRes>

Seit: 480


setCustomId()

setCustomId(options: SetCustomIdOptions) => Promise<void>

Lege eine benutzerdefinierte ID für dieses Gerät fest

ParamTypeDescription
optionsSetCustomIdOptionsist die {@link SetCustomIdOptions} customId zum Setzen

Seit: 490


getBuiltinVersion()

getBuiltinVersion() => Promise<BuiltinVersion>

Rufe die native App-Version oder die in der Konfiguration festgelegte Builtin-Version ab

Returns: Promise<BuiltinVersion>

Seit: 520


getDeviceId()

getDeviceId() => Promise<DeviceId>

Rufe eindeutige ID ab, die zur Identifizierung des Geräts verwendet wird (wird an den Auto-Update-Server gesendet)

Returns: Promise<DeviceId>


getPluginVersion()

getPluginVersion() => Promise<PluginVersion>

Rufe die native Capacitor Updater Plugin-Version ab (wird an den Auto-Update-Server gesendet)

Returns: Promise<PluginVersion>


isAutoUpdateEnabled()

isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>

Rufe den Status der Auto-Update-Konfiguration ab

Returns: Promise<AutoUpdateEnabled>


removeAllListeners()

removeAllListeners() => Promise<void>

Entferne alle Listener für dieses Plugin

Seit: 100


addListener(‘download’, )

addListener(eventName: 'download', listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>

Höre auf Bundle-Download-Events in der App. Wird ausgelöst, wenn ein Download startet, während des Downloads und wenn er abgeschlossen ist

ParamType
eventName’download’
listenerFunc(state: DownloadEvent) => void

Returns: Promise<PluginListenerHandle>

Seit: 2011


addListener(‘noNeedUpdate’, )

addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>

Höre auf Events, wenn kein Update benötigt wird. Nützlich, wenn bei jedem App-Start eine Überprüfung erzwungen werden soll

ParamType
eventName’noNeedUpdate’
listenerFunc(state: NoNeedEvent) => void

Returns: Promise<PluginListenerHandle>

Seit: 400


addListener(‘updateAvailable’, )

addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>

Höre auf verfügbare Update-Events. Nützlich, wenn bei jedem App-Start eine Überprüfung erzwungen werden soll

ParamType
eventName’updateAvailable’
listenerFunc(state: UpdateAvailableEvent) => void

Returns: Promise<PluginListenerHandle>

Seit: 400


addListener(‘downloadComplete’, )

addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>

Höre auf downloadComplete Events

ParamType
eventName’downloadComplete’
listenerFunc(state: DownloadCompleteEvent) => void

Returns: Promise<PluginListenerHandle>

Seit: 400


addListener(‘majorAvailable’, )

addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>

Höre auf Major-Update-Events in der App. Informiert dich, wenn ein Major-Update durch die Einstellung disableAutoUpdateBreaking blockiert wird

ParamType
eventName’majorAvailable’
listenerFunc(state: MajorAvailableEvent) => void

Returns: Promise<PluginListenerHandle>

Seit: 230


addListener(‘updateFailed’, )

addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>

Höre auf Update-Fehlschlag-Events in der App. Informiert dich, wenn ein Update beim nächsten App-Start nicht installiert werden konnte

ParamType
eventName’updateFailed’
listenerFunc(state: UpdateFailedEvent) => void

Returns: Promise<PluginListenerHandle>

Seit: 230


addListener(‘downloadFailed’,```typescript

addListener(eventName: ‘downloadFailed’, listenerFunc: (state: DownloadFailedEvent) => void) => Promise

Lauschen Sie auf das Download-Fehlerereignis in der App, das Sie darüber informiert, wenn ein Bundle-Download fehlgeschlagen ist
| Param | Typ |
|--------------|----------------------------------------------------------------------------------------|
| **`eventName`** | <code>'downloadFailed'</code> |
| **`listenerFunc`** | <code>(state: <a href="#downloadfailedevent">DownloadFailedEvent</a>) =&gt; void</code> |
**Gibt zurück:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
**Seit:** 400
--------------------
## addListener('appReloaded', )
```typescript
addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

Lauschen Sie auf das Neuladen-Ereignis in der App, das Sie darüber informiert, wenn ein Neuladen stattgefunden hat

ParamTyp
eventName’appReloaded’
listenerFunc() => void

Gibt zurück: Promise<PluginListenerHandle>

Seit: 430


addListener(‘appReady’, )

addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>

Lauschen Sie auf das App-Bereit-Ereignis in der App, das Sie darüber informiert, wenn die App einsatzbereit ist

ParamTyp
eventName’appReady’
listenerFunc(state: AppReadyEvent) => void

Gibt zurück: Promise<PluginListenerHandle>

Seit: 510


isAutoUpdateAvailable()

isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>

Prüfen Sie, ob automatische Aktualisierung verfügbar ist (nicht durch serverUrl deaktiviert)

Gibt zurück: Promise<AutoUpdateAvailable>


getNextBundle()

getNextBundle() => Promise<BundleInfo | null>

Ruft das nächste Bundle ab, das beim Neuladen der App verwendet wird Gibt null zurück, wenn kein nächstes Bundle festgelegt ist

Gibt zurück: Promise<BundleInfo | null>

Seit: 680


Interfaces

AppReadyResult

EigenschaftTyp
bundleBundleInfo

BundleInfo

EigenschaftTyp
idstring
versionstring
downloadedstring
checksumstring
statusBundleStatus

UpdateUrl

EigenschaftTyp
urlstring

StatsUrl

EigenschaftTyp
urlstring

ChannelUrl

EigenschaftTyp
urlstring

DownloadOptions

EigenschaftTypBeschreibungStandardSeit
urlstringDie URL der Bundle-ZIP-Datei (z.B. distzip), die heruntergeladen werden soll (Dies kann eine beliebige URL sein, z.B. Amazon S3, ein GitHub-Tag oder ein anderer Ort, an dem Sie Ihr Bundle gehostet haben)
versionstringDer Versions-Code/Name dieses Bundles/dieser Version
sessionKeystringDer Sitzungsschlüssel für das Updateundefined400
checksumstringDie Prüfsumme für das Updateundefined400

BundleId

EigenschaftTyp
idstring

BundleListResult

EigenschaftTyp
bundlesBundleInfo[]

ListOptions

EigenschaftTypBeschreibungStandardSeit
rawbooleanOb die rohe Bundle-Liste oder das Manifest zurückgegeben werden soll. Wenn true, wird versucht, die interne Datenbank anstelle von Dateien auf der Festplatte zu lesenfalse6140

ResetOptions

EigenschaftTyp
toLastSuccessfulboolean

CurrentBundleResult

EigenschaftTyp
bundleBundleInfo
nativestring

MultiDelayConditions

EigenschaftTyp
delayConditionsDelayCondition[]

DelayCondition

EigenschaftTypBeschreibung
kindDelayUntilNextVerzögerungsbedingungen in setMultiDelay einrichten
valuestring

LatestVersion

EigenschaftTypBeschreibungSeit
versionstringErgebnis der getLatest-Methode400
checksumstring6
majorboolean
messagestring
sessionKeystring
errorstring
oldstring
urlstring
manifestManifestEntry[]61

ManifestEntry

EigenschaftTyp
file_namestring | null
file_hashstring | null
download_urlstring | null

GetLatestOptions

EigenschaftTypBeschreibungStandardSeit
channelstringDer Kanal, für den die neueste Version abgerufen werden soll. Der Kanal muss ‘self_assign’ für die Funktionalität erlaubenundefined680

ChannelRes

EigenschaftTypBeschreibungSeit
statusstringAktueller Status des Kanals470
errorstring
messagestring

SetChannelOptions

EigenschaftTyp
channelstring
triggerAutoUpdateboolean

UnsetChannelOptions

EigenschaftTyp
triggerAutoUpdateboolean

GetChannelRes

EigenschaftTypBeschreibungSeit
channelstringAktueller Status des Kanals480
errorstring
messagestring
statusstring
allowSetboolean

SetCustomIdOptions

EigenschaftTyp
customIdstring

BuiltinVersion

EigenschaftTyp
versionstring

DeviceId

EigenschaftTyp
deviceIdstring

PluginVersion

EigenschaftTyp
versionstring

AutoUpdateEnabled

EigenschaftTyp
enabledboolean

PluginListenerHandle

EigenschaftTyp
remove() => Promise<void>

DownloadEvent

EigenschaftTypBeschreibungSeit
percentnumberAktueller Download-Status, zwischen 0 und 100400
bundleBundleInfo

NoNeedEvent

EigenschaftTypBeschreibungSeit
bundleBundleInfoAktueller Download-Status, zwischen 0 und 100400

UpdateAvailableEvent

EigenschaftTypBeschreibungSeit
bundleBundleInfoAktueller Download-Status, zwischen 0 und 100400

DownloadCompleteEvent

EigenschaftTypBeschreibungSeit
bundleBundleInfoWird ausgelöst, wenn ein Update verfügbar ist400

MajorAvailableEvent

EigenschaftTypBeschreibungSeit
versionstringWird ausgelöst, wenn ein Major-Update verfügbar ist400

UpdateFailedEvent

EigenschaftTypBeschreibungSeit
bundleBundleInfoWird ausgelöst, wenn ein Update fehlgeschlagen ist400

DownloadFailedEvent

EigenschaftTypBeschreibungSeit
versionstringWird ausgelöst, wenn ein Download fehlschlägt400

AppReadyEvent

EigenschaftTypBeschreibungSeit
bundleBundleInfoWird ausgelöst, wenn die App bereit ist520
statusstring

AutoUpdateAvailable

EigenschaftTyp
availableboolean

Type Aliases

BundleStatus

‘success’ | ‘error’ | ‘pending’ | ‘downloading’

DelayUntilNext

‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’