Passer au contenu

Fonctions et paramètres

Configuration du Plugin Updater

Voir le Readme Github pour plus d’informations

CapacitorUpdater peut être configuré avec ces options :

PropTypeDescriptionPar défautDepuis
appReadyTimeoutnumberConfigure le nombre de millisecondes pendant lesquelles le plugin natif doit attendre avant de considérer une mise à jour comme ‘échouée’ Disponible uniquement pour Android et iOS10000 // (10 secondes)
responseTimeoutnumberConfigure le nombre de millisecondes pendant lesquelles le plugin natif doit attendre avant de considérer l’API comme expirée Disponible uniquement pour Android et iOS20 // (20 secondes)
autoDeleteFailedbooleanConfigure si le plugin doit automatiquement supprimer les bundles échoués Disponible uniquement pour Android et iOStrue
autoDeletePreviousbooleanConfigure si le plugin doit automatiquement supprimer les bundles précédents après une mise à jour réussie Disponible uniquement pour Android et iOStrue
autoUpdatebooleanConfigure si le plugin doit utiliser la mise à jour automatique via un serveur de mise à jour Disponible uniquement pour Android et iOStrue
resetWhenUpdatebooleanSupprime automatiquement les bundles précédemment téléchargés lors de l’installation d’une nouvelle version native de l’application Disponible uniquement pour Android et iOStrue
updateUrlstringConfigure l’URL / point de terminaison vers lequel les vérifications de mise à jour sont envoyées Disponible uniquement pour Android et iOShttps://plugincapgoapp/updates
channelUrlstringConfigure l’URL / point de terminaison pour les opérations de canal Disponible uniquement pour Android et iOShttps://plugincapgoapp/channel_self
statsUrlstringConfigure l’URL / point de terminaison vers lequel les statistiques de mise à jour sont envoyées Disponible uniquement pour Android et iOS Mettre à "" pour désactiver les rapports statshttps://plugincapgoapp/stats
privateKeystringConfigure la clé privée pour le chiffrement de bout en bout des mises à jour en direct Disponible uniquement pour Android et iOS Déprécié en version 620, sera supprimé en version 700undefined
publicKeystringConfigure la clé publique pour le chiffrement de bout en bout des mises à jour en direct Version 2 Disponible uniquement pour Android et iOSundefined620
versionstringConfigure la version actuelle de l’application Sera utilisé pour la première demande de mise à jour Si non défini, le plugin obtiendra la version du code natif Disponible pour Android/iOSundefined41748
directUpdatebooleanFait installer directement la mise à jour par le plugin lorsque l’application vient d’être mise à jour/installée Uniquement pour le mode autoUpdate Android et iOS uniquementundefined510
periodCheckDelaynumberConfigure le délai de vérification périodique des mises à jour en secondes Disponible uniquement pour Android et iOS Ne peut pas être inférieur à 600 secondes (10 minutes)600 // (10 minutes)
localS3booleanConfigure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergéundefined41748
localHoststringConfigure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergéundefined41748
localWebHoststringConfigure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergéundefined41748
localSupastringConfigure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergéundefined41748
localSupaAnonstringConfigure le CLI pour utiliser un serveur local pour les testsundefined41748
localApistringConfigure le CLI pour utiliser une API locale pour les testsundefined633
localApiFilesstringConfigure le CLI pour utiliser une API de fichiers locale pour les testsundefined633
allowModifyUrlbooleanPermet au plugin de modifier dynamiquement updateUrl, statsUrl et channelUrl depuis le côté JavaScriptfalse540
defaultChannelstringDéfinit le canal par défaut pour l’application dans la configurationVoici la traduction en français :

| undefined | 550 | | appId | string | Configurer l’identifiant de l’application dans la configuration | undefined | 600 | | keepUrlPathAfterReload | boolean | Configurer le plugin pour conserver le chemin URL après un rechargement ATTENTION : Lorsqu’un rechargement est déclenché, ‘windowhistory’ sera effacé | false | 680 |

Exemples

Dans capacitorconfigjson :

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 1000 // (1 seconde),
"responseTimeout": 10 // (10 secondes),
"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
}
}
}

Dans capacitorconfigts :

/// <reference types="@capgo/capacitor-updater" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
appReadyTimeout: 1000 // (1 seconde),
responseTimeout: 10 // (10 secondes),
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;

Méthodes

notifyAppReady()

notifyAppReady() => Promise<AppReadyResult>

Notifier Capacitor Updater que le bundle actuel fonctionne (un retour en arrière se produira si cette méthode n’est pas appelée à chaque lancement de l’application) Par défaut, cette méthode doit être appelée dans les 10 premières secondes après le lancement de l’application, sinon un retour en arrière se produira Modifiez ce comportement avec {@link appReadyTimeout}

Retourne: Promise<AppReadyResult>


setUpdateUrl()

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

Définir l’updateUrl pour l’application, elle sera utilisée pour vérifier les mises à jour

ParamTypeDescription
optionsUpdateUrlcontient l’URL à utiliser pour vérifier les mises à jour

Depuis: 540


setStatsUrl()

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

Définir la statsUrl pour l’application, elle sera utilisée pour envoyer des statistiques. Passer une chaîne vide désactivera la collecte de statistiques

ParamTypeDescription
optionsStatsUrlcontient l’URL à utiliser pour envoyer les statistiques

Depuis: 540


setChannelUrl()

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

Définir la channelUrl pour l’application, elle sera utilisée pour définir le canal

ParamTypeDescription
optionsChannelUrlcontient l’URL à utiliser pour définir le canal

Depuis: 540


download()

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

Télécharger un nouveau bundle depuis l’URL fournie, il doit être un fichier zip, avec des fichiers à l’intérieur ou avec un identifiant unique à l’intérieur avec tous vos fichiers

ParamTypeDescription
optionsDownloadOptionsLes {@link DownloadOptions} pour télécharger un nouveau bundle zip

Retourne: Promise<BundleInfo>


next()

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

Définir le prochain bundle à utiliser lorsque l’application sera rechargée| Param | Type | Description | | ------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | options | BundleId | Contient l’ID du prochain Bundle à définir lors du prochain lancement de l’application {@link BundleInfoid} |

Returns: Promise<BundleInfo>


set()

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

Définit le bundle actuel et recharge immédiatement l’application

ParamTypeDescription
optionsBundleIdUn objet {@link BundleId} contenant le nouveau bundle id à définir comme actuel

delete()

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

Supprime le bundle spécifié du stockage natif de l’application. Utiliser avec {@link list} pour obtenir les ID des Bundles stockés

ParamTypeDescription
optionsBundleIdUn objet {@link BundleId} contenant l’ID d’un bundle à supprimer (noter que c’est l’id du bundle, PAS le nom de la version)

list()

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

Obtenir tous les bundles téléchargés localement dans votre application

ParamTypeDescription
optionsListOptionsLes {@link ListOptions} pour lister les bundles

Returns: Promise<BundleListResult>


reset()

reset(options?: ResetOptions | undefined) => Promise<void>

Réinitialiser l’application au bundle ‘builtin’ (celui envoyé à l’Apple App Store / Google Play Store) ou au dernier bundle chargé avec succès

ParamTypeDescription
optionsResetOptionsContenant {@link ResetOptionstoLastSuccessful}, true réinitialise au bundle intégré et false réinitialisera au dernier bundle chargé avec succès

current()

current() => Promise<CurrentBundleResult>

Obtenir le bundle actuel, si aucun n’est défini, renvoie ‘builtin’. currentNative est le bundle d’origine installé sur l’appareil

Returns: Promise<CurrentBundleResult>


reload()

reload() => Promise<void>

Recharger la vue


setMultiDelay()

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

Définit un tableau {@link DelayCondition} contenant les conditions que le Plugin utilisera pour retarder la mise à jour. Une fois toutes les conditions remplies, le processus de mise à jour redémarrera comme d’habitude, la mise à jour sera donc installée après une mise en arrière-plan ou l’arrêt de l’application. Pour le type ‘date’, la valeur doit être une chaîne de date iso8601. Pour le type ‘background’, la valeur doit être un nombre en millisecondes. Pour le type ‘nativeVersion’, la valeur doit être le numéro de version. Pour le type ‘kill’, la valeur n’est pas utilisée. La fonction a un comportement incohérent, l’option kill déclenche la mise à jour après le premier arrêt et non après la prochaine mise en arrière-plan comme les autres options. Cela sera corrigé dans une future version majeure.

ParamTypeDescription
optionsMultiDelayConditionsContenant le tableau {@link MultiDelayConditions} des conditions à définir

Since: 430


cancelDelay()

cancelDelay() => Promise<void>

Annule une {@link DelayCondition} pour traiter une mise à jour immédiatement

Since: 400


getLatest()

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

Obtenir le dernier bundle disponible depuis l’URL de mise à jour

ParamType
optionsGetLatestOptions

Returns: Promise<LatestVersion>

Since: 400


setChannel()

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

Définit le canal pour cet appareil. Le canal doit autoriser l’auto-attribution pour que cela fonctionne. N’utilisez pas cette méthode pour définir le canal au démarrage lorsque autoUpdate est activé dans {@link PluginsConfig}. Cette méthode sert à définir le canal après que l’application est prête. Cette méthode envoie au backend Capgo une requête pour lier l’ID de l’appareil au canal. Capgo peut accepter ou refuser selon les paramètres de votre canal.

ParamTypeDescription
optionsSetChannelOptionsEst le canal {@link SetChannelOptions} à définir

Returns: Promise<ChannelRes>

Since: 470


unsetChannel()

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

Désactive le canal pour cet appareilL’appareil reviendra ensuite au canal par défaut

ParamType
optionsUnsetChannelOptions

Since: 470


getChannel()

getChannel() => Promise<GetChannelRes>

Obtenir le canal pour cet appareil

Returns: Promise<GetChannelRes>

Since: 480


setCustomId()

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

Définir un ID personnalisé pour cet appareil

ParamTypeDescription
optionsSetCustomIdOptionsest le {@link SetCustomIdOptions} customId à définir

Since: 490


getBuiltinVersion()

getBuiltinVersion() => Promise<BuiltinVersion>

Obtenir la version de l’application native ou la version intégrée si définie dans la configuration

Returns: Promise<BuiltinVersion>

Since: 520


getDeviceId()

getDeviceId() => Promise<DeviceId>

Obtenir l’ID unique utilisé pour identifier l’appareil (envoyé au serveur de mise à jour automatique)

Returns: Promise<DeviceId>


getPluginVersion()

getPluginVersion() => Promise<PluginVersion>

Obtenir la version native du plugin Capacitor Updater (envoyée au serveur de mise à jour automatique)

Returns: Promise<PluginVersion>


isAutoUpdateEnabled()

isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>

Obtenir l’état de la configuration de mise à jour automatique

Returns: Promise<AutoUpdateEnabled>


removeAllListeners()

removeAllListeners() => Promise<void>

Supprimer tous les écouteurs pour ce plugin

Since: 100


addListener(‘download’, )

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

Écouter l’événement de téléchargement du bundle dans l’application. Se déclenche une fois qu’un téléchargement a commencé, pendant le téléchargement et une fois terminé

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

Returns: Promise<PluginListenerHandle>

Since: 2011


addListener(‘noNeedUpdate’, )

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

Écouter l’événement indiquant qu’aucune mise à jour n’est nécessaire, utile lorsque vous voulez forcer la vérification à chaque lancement de l’application

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

Returns: Promise<PluginListenerHandle>

Since: 400


addListener(‘updateAvailable’, )

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

Écouter l’événement de mise à jour disponible, utile lorsque vous voulez forcer la vérification à chaque lancement de l’application

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

Returns: Promise<PluginListenerHandle>

Since: 400


addListener(‘downloadComplete’, )

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

Écouter les événements downloadComplete

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

Returns: Promise<PluginListenerHandle>

Since: 400


addListener(‘majorAvailable’, )

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

Écouter l’événement de mise à jour majeure dans l’application, vous informe quand une mise à jour majeure est bloquée par le paramètre disableAutoUpdateBreaking

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

Returns: Promise<PluginListenerHandle>

Since: 230


addListener(‘updateFailed’, )

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

Écouter l’événement d’échec de mise à jour dans l’application, vous informe quand une mise à jour n’a pas pu être installée au prochain démarrage de l’application

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

Returns: Promise<PluginListenerHandle>

Since: 230


addListener(‘downloadFailed’,```typescript

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

Écouter l'événement d'échec de téléchargement dans l'application, vous informe lorsqu'un téléchargement de bundle a échoué
| Param | Type |
|----------|-------------|
| **`eventName`** | <code>'downloadFailed'</code> |
| **`listenerFunc`** | <code>(state: <a href="#downloadfailedevent">DownloadFailedEvent</a>) =&gt; void</code> |
**Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
**Since:** 400
--------------------
## addListener('appReloaded', )
```typescript
addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

Écouter l’événement de rechargement dans l’application, vous informe lorsqu’un rechargement s’est produit

ParamType
eventName’appReloaded’
listenerFunc() => void

Returns: Promise<PluginListenerHandle>

Since: 430


addListener(‘appReady’, )

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

Écouter l’événement “app ready” dans l’application, vous informe lorsque l’application est prête à être utilisée

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

Returns: Promise<PluginListenerHandle>

Since: 510


isAutoUpdateAvailable()

isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>

Vérifier si la mise à jour automatique est disponible (non désactivée par serverUrl)

Returns: Promise<AutoUpdateAvailable>


getNextBundle()

getNextBundle() => Promise<BundleInfo | null>

Obtenir le prochain bundle qui sera utilisé lors du rechargement de l’application Renvoie null si aucun prochain bundle n’est défini

Returns: Promise<BundleInfo | null>

Since: 680


Interfaces

AppReadyResult

PropType
bundleBundleInfo

BundleInfo

PropType
idstring
versionstring
downloadedstring
checksumstring
statusBundleStatus

UpdateUrl

PropType
urlstring

StatsUrl

PropType
urlstring

ChannelUrl

PropType
urlstring

DownloadOptions

PropTypeDescriptionDefaultSince
urlstringL’URL du fichier zip du bundle (par exemple : distzip) à télécharger (Cela peut être n’importe quelle URL, par exemple : Amazon S3, un tag GitHub, tout autre endroit où vous avez hébergé votre bundle)
versionstringLe code/nom de version de ce bundle/version
sessionKeystringLa clé de session pour la mise à jourundefined400
checksumstringLa somme de contrôle pour la mise à jourundefined400

BundleId

PropType
idstring

BundleListResult

PropType
bundlesBundleInfo[]

ListOptions

PropTypeDescriptionDefaultSince
rawbooleanIndique s’il faut renvoyer la liste brute des bundles ou le manifeste. Si vrai, la liste tentera de lire la base de données interne au lieu des fichiers sur le disquefalse6140

ResetOptions

PropType
toLastSuccessfulboolean

CurrentBundleResult

PropType
bundleBundleInfo
nativestring

MultiDelayConditions

PropType
delayConditionsDelayCondition[]

DelayCondition

PropTypeDescription
kindDelayUntilNextConfigurer les conditions de délai dans setMultiDelay
valuestring

LatestVersion

PropTypeDescriptionSince
versionstringRésultat de la méthode getLatest40
majorboolean
messagestring
sessionKeystring
errorstring
oldstring
urlstring
manifestManifestEntry[]61

ManifestEntry

PropType
file_namestring | null
file_hashstring | null
download_urlstring | null

GetLatestOptions

PropTypeDescriptionDefaultSince
channelstringLe canal pour obtenir la dernière version. Le canal doit autoriser ‘self_assign’ pour fonctionnerundefined680

ChannelRes

PropTypeDescriptionSince
statusstringÉtat actuel du canal défini470
errorstring
messagestring

SetChannelOptions

PropType
channelstring
triggerAutoUpdateboolean

UnsetChannelOptions

PropType
triggerAutoUpdateboolean

GetChannelRes

PropTypeDescriptionSince
channelstringÉtat actuel de l’obtention du canal480
errorstring
messagestring
statusstring
allowSetboolean

SetCustomIdOptions

PropType
customIdstring

BuiltinVersion

PropType
versionstring

DeviceId

PropType
deviceIdstring

PluginVersion

PropType
versionstring

AutoUpdateEnabled

PropType
enabledboolean

PluginListenerHandle

PropType
remove() => Promise<void>

DownloadEvent

PropTypeDescriptionSince
percentnumberÉtat actuel du téléchargement, entre 0 et 100400
bundleBundleInfo

NoNeedEvent

PropTypeDescriptionSince
bundleBundleInfoÉtat actuel du téléchargement, entre 0 et 100400

UpdateAvailableEvent

PropTypeDescriptionSince
bundleBundleInfoÉtat actuel du téléchargement, entre 0 et 100400

DownloadCompleteEvent

PropTypeDescriptionSince
bundleBundleInfoÉmis quand une nouvelle mise à jour est disponible400

MajorAvailableEvent

PropTypeDescriptionSince
versionstringÉmis quand une nouvelle version majeure est disponible400

UpdateFailedEvent

PropTypeDescriptionSince
bundleBundleInfoÉmis quand une mise à jour a échoué à l’installation400

DownloadFailedEvent

PropTypeDescriptionSince
versionstringÉmis quand un téléchargement échoue400

AppReadyEvent

PropTypeDescriptionSince
bundleBundleInfoÉmis quand l’application est prête à être utilisée520
statusstring

AutoUpdateAvailable

PropType
availableboolean

Type Aliases

BundleStatus

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

DelayUntilNext

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