Fonctions et paramètres
Configuration du Plugin Updater
Voir le Readme Github pour plus d’informations
CapacitorUpdater peut être configuré avec ces options :
Prop | Type | Description | Par défaut | Depuis |
---|---|---|---|---|
appReadyTimeout | number | Configure 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 iOS | 10000 // (10 secondes) | |
responseTimeout | number | Configure 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 iOS | 20 // (20 secondes) | |
autoDeleteFailed | boolean | Configure si le plugin doit automatiquement supprimer les bundles échoués Disponible uniquement pour Android et iOS | true | |
autoDeletePrevious | boolean | Configure si le plugin doit automatiquement supprimer les bundles précédents après une mise à jour réussie Disponible uniquement pour Android et iOS | true | |
autoUpdate | boolean | Configure si le plugin doit utiliser la mise à jour automatique via un serveur de mise à jour Disponible uniquement pour Android et iOS | true | |
resetWhenUpdate | boolean | Supprime 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 iOS | true | |
updateUrl | string | Configure l’URL / point de terminaison vers lequel les vérifications de mise à jour sont envoyées Disponible uniquement pour Android et iOS | https://plugincapgoapp/updates | |
channelUrl | string | Configure l’URL / point de terminaison pour les opérations de canal Disponible uniquement pour Android et iOS | https://plugincapgoapp/channel_self | |
statsUrl | string | Configure 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 stats | https://plugincapgoapp/stats | |
privateKey | string | Configure 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 700 | undefined | |
publicKey | string | Configure la clé publique pour le chiffrement de bout en bout des mises à jour en direct Version 2 Disponible uniquement pour Android et iOS | undefined | 620 |
version | string | Configure 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/iOS | undefined | 41748 |
directUpdate | boolean | Fait 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 uniquement | undefined | 510 |
periodCheckDelay | number | Configure 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) | |
localS3 | boolean | Configure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergé | undefined | 41748 |
localHost | string | Configure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergé | undefined | 41748 |
localWebHost | string | Configure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergé | undefined | 41748 |
localSupa | string | Configure le CLI pour utiliser un serveur local pour les tests ou un serveur de mise à jour auto-hébergé | undefined | 41748 |
localSupaAnon | string | Configure le CLI pour utiliser un serveur local pour les tests | undefined | 41748 |
localApi | string | Configure le CLI pour utiliser une API locale pour les tests | undefined | 633 |
localApiFiles | string | Configure le CLI pour utiliser une API de fichiers locale pour les tests | undefined | 633 |
allowModifyUrl | boolean | Permet au plugin de modifier dynamiquement updateUrl, statsUrl et channelUrl depuis le côté JavaScript | false | 540 |
defaultChannel | string | Dé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;
notifyAppReady()
setUpdateUrl()
setStatsUrl()
setChannelUrl()
download()
next()
set()
delete()
list()
reset()
current()
reload()
setMultiDelay()
cancelDelay()
getLatest()
setChannel()
unsetChannel()
getChannel()
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()
- Interfaces
- Type Aliases
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
Param | Type | Description |
---|---|---|
options | UpdateUrl | contient 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
Param | Type | Description |
---|---|---|
options | StatsUrl | contient 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
Param | Type | Description |
---|---|---|
options | ChannelUrl | contient 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
Param | Type | Description |
---|---|---|
options | DownloadOptions | Les {@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
Param | Type | Description |
---|---|---|
options | BundleId | Un 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
Param | Type | Description |
---|---|---|
options | BundleId | Un 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
Param | Type | Description |
---|---|---|
options | ListOptions | Les {@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
Param | Type | Description |
---|---|---|
options | ResetOptions | Contenant {@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.
Param | Type | Description |
---|---|---|
options | MultiDelayConditions | Contenant 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
Param | Type |
---|---|
options | GetLatestOptions |
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.
Param | Type | Description |
---|---|---|
options | SetChannelOptions | Est 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
Param | Type |
---|---|
options | UnsetChannelOptions |
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
Param | Type | Description |
---|---|---|
options | SetCustomIdOptions | est 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é
Param | Type |
---|---|
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
Param | Type |
---|---|
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
Param | Type |
---|---|
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
Param | Type |
---|---|
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
Param | Type |
---|---|
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
Param | Type |
---|---|
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>) => void</code> |
**Returns:** <code>Promise<<a href="#pluginlistenerhandle">PluginListenerHandle</a>></code>
**Since:** 400
--------------------
## addListener('appReloaded', )
```typescriptaddListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>
Écouter l’événement de rechargement dans l’application, vous informe lorsqu’un rechargement s’est produit
Param | Type |
---|---|
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
Param | Type |
---|---|
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
Prop | Type |
---|---|
bundle | BundleInfo |
BundleInfo
Prop | Type |
---|---|
id | string |
version | string |
downloaded | string |
checksum | string |
status | BundleStatus |
UpdateUrl
Prop | Type |
---|---|
url | string |
StatsUrl
Prop | Type |
---|---|
url | string |
ChannelUrl
Prop | Type |
---|---|
url | string |
DownloadOptions
Prop | Type | Description | Default | Since |
---|---|---|---|---|
url | string | L’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) | ||
version | string | Le code/nom de version de ce bundle/version | ||
sessionKey | string | La clé de session pour la mise à jour | undefined | 400 |
checksum | string | La somme de contrôle pour la mise à jour | undefined | 400 |
BundleId
Prop | Type |
---|---|
id | string |
BundleListResult
Prop | Type |
---|---|
bundles | BundleInfo[] |
ListOptions
Prop | Type | Description | Default | Since |
---|---|---|---|---|
raw | boolean | Indique 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 disque | false | 6140 |
ResetOptions
Prop | Type |
---|---|
toLastSuccessful | boolean |
CurrentBundleResult
Prop | Type |
---|---|
bundle | BundleInfo |
native | string |
MultiDelayConditions
Prop | Type |
---|---|
delayConditions | DelayCondition[] |
DelayCondition
Prop | Type | Description |
---|---|---|
kind | DelayUntilNext | Configurer les conditions de délai dans setMultiDelay |
value | string |
LatestVersion
Prop | Type | Description | Since |
---|---|---|---|
version | string | Résultat de la méthode getLatest | 40 |
major | boolean | ||
message | string | ||
sessionKey | string | ||
error | string | ||
old | string | ||
url | string | ||
manifest | ManifestEntry[] | 61 |
ManifestEntry
Prop | Type |
---|---|
file_name | string | null |
file_hash | string | null |
download_url | string | null |
GetLatestOptions
Prop | Type | Description | Default | Since |
---|---|---|---|---|
channel | string | Le canal pour obtenir la dernière version. Le canal doit autoriser ‘self_assign’ pour fonctionner | undefined | 680 |
ChannelRes
Prop | Type | Description | Since |
---|---|---|---|
status | string | État actuel du canal défini | 470 |
error | string | ||
message | string |
SetChannelOptions
Prop | Type |
---|---|
channel | string |
triggerAutoUpdate | boolean |
UnsetChannelOptions
Prop | Type |
---|---|
triggerAutoUpdate | boolean |
GetChannelRes
Prop | Type | Description | Since |
---|---|---|---|
channel | string | État actuel de l’obtention du canal | 480 |
error | string | ||
message | string | ||
status | string | ||
allowSet | boolean |
SetCustomIdOptions
Prop | Type |
---|---|
customId | string |
BuiltinVersion
Prop | Type |
---|---|
version | string |
DeviceId
Prop | Type |
---|---|
deviceId | string |
PluginVersion
Prop | Type |
---|---|
version | string |
AutoUpdateEnabled
Prop | Type |
---|---|
enabled | boolean |
PluginListenerHandle
Prop | Type |
---|---|
remove | () => Promise<void> |
DownloadEvent
Prop | Type | Description | Since |
---|---|---|---|
percent | number | État actuel du téléchargement, entre 0 et 100 | 400 |
bundle | BundleInfo |
NoNeedEvent
Prop | Type | Description | Since |
---|---|---|---|
bundle | BundleInfo | État actuel du téléchargement, entre 0 et 100 | 400 |
UpdateAvailableEvent
Prop | Type | Description | Since |
---|---|---|---|
bundle | BundleInfo | État actuel du téléchargement, entre 0 et 100 | 400 |
DownloadCompleteEvent
Prop | Type | Description | Since |
---|---|---|---|
bundle | BundleInfo | Émis quand une nouvelle mise à jour est disponible | 400 |
MajorAvailableEvent
Prop | Type | Description | Since |
---|---|---|---|
version | string | Émis quand une nouvelle version majeure est disponible | 400 |
UpdateFailedEvent
Prop | Type | Description | Since |
---|---|---|---|
bundle | BundleInfo | Émis quand une mise à jour a échoué à l’installation | 400 |
DownloadFailedEvent
Prop | Type | Description | Since |
---|---|---|---|
version | string | Émis quand un téléchargement échoue | 400 |
AppReadyEvent
Prop | Type | Description | Since |
---|---|---|---|
bundle | BundleInfo | Émis quand l’application est prête à être utilisée | 520 |
status | string |
AutoUpdateAvailable
Prop | Type |
---|---|
available | boolean |
Type Aliases
BundleStatus
‘success’ | ‘error’ | ‘pending’ | ‘downloading’
DelayUntilNext
‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’