Saltar al contenido

Funzioni e impostazioni

Configuración del Plugin Updater

Consulta el Readme de Github para más información

CapacitorUpdater puede configurarse con estas opciones:

PropiedadTipoDescripciónValor predeterminadoDesde
appReadyTimeoutnumberConfigura el número de milisegundos que el plugin nativo debe esperar antes de considerar una actualización como ‘fallida’. Solo disponible para Android e iOS10000 // (10 segundos)
responseTimeoutnumberConfigura el número de milisegundos que el plugin nativo debe esperar antes de considerar un tiempo de espera de la API. Solo disponible para Android e iOS20 // (20 segundos)
autoDeleteFailedbooleanConfigura si el plugin debe eliminar automáticamente los paquetes fallidos. Solo disponible para Android e iOStrue
autoDeletePreviousbooleanConfigura si el plugin debe eliminar automáticamente los paquetes anteriores después de una actualización exitosa. Solo disponible para Android e iOStrue
autoUpdatebooleanConfigura si el plugin debe usar actualización automática a través de un servidor de actualizaciones. Solo disponible para Android e iOStrue
resetWhenUpdatebooleanElimina automáticamente los paquetes descargados anteriormente cuando se instala un nuevo paquete nativo en el dispositivo. Solo disponible para Android e iOStrue
updateUrlstringConfigura la URL / punto final al que se envían las comprobaciones de actualización. Solo disponible para Android e iOShttps://plugincapgoapp/updates
channelUrlstringConfigura la URL / punto final para operaciones de canal. Solo disponible para Android e iOShttps://plugincapgoapp/channel_self
statsUrlstringConfigura la URL / punto final al que se envían las estadísticas de actualización. Solo disponible para Android e iOS. Establecer como "" para deshabilitar el reporte de estadísticashttps://plugincapgoapp/stats
privateKeystringConfigura la clave privada para el cifrado de actualizaciones en vivo de extremo a extremo. Solo disponible para Android e iOS. Obsoleto en la versión 620, será eliminado en la versión 700undefined
publicKeystringConfigura la clave pública para el cifrado de actualizaciones en vivo de extremo a extremo Versión 2. Solo disponible para Android e iOSundefined620
versionstringConfigura la versión actual de la aplicación. Se usará para la primera solicitud de actualización. Si no se establece, el plugin obtendrá la versión del código nativo. Solo para Android e iOSundefined41748
directUpdatebooleanHace que el plugin instale directamente la actualización cuando la aplicación se acaba de actualizar/instalar. Solo para modo autoUpdate. Solo disponible para Android e iOSundefined510
periodCheckDelaynumberConfigura el período de retraso para la comprobación periódica de actualizaciones en segundos. Solo disponible para Android e iOS. No puede ser menor a 600 segundos (10 minutos)600 // (10 minutos)
localS3booleanConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones autohospedadoundefined41748
localHoststringConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones autohospedadoundefined41748
localWebHoststringConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones autohospedadoundefined41748
localSupastringConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones autohospedadoundefined41748
localSupaAnonstringConfigura el CLI para usar un servidor local para pruebasundefined41748
localApistringConfigura el CLI para usar una API local para pruebasundefined633
localApiFilesstringConfigura el CLI para usar una API de archivos local para pruebasundefined633
allowModifyUrlbooleanPermite que el plugin modifique updateUrl, statsUrl y channelUrl dinámicamente desde el lado JavaScriptfalse540
defaultChannelstringEstablece el canal predeterminado para la aplicación en la configuraciónTraducción al español:
| <code>undefined</code> | 550 |

| appId | string | Configura el id de la aplicación en la configuración | undefined | 600 | | keepUrlPathAfterReload | boolean | Configura el plugin para mantener la ruta URL después de una recarga ADVERTENCIA: Cuando se activa una recarga, ‘windowhistory’ se borrará | false | 680 |

Ejemplos

En capacitorconfigjson:

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

En capacitorconfigts:

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

notifyAppReady()

notifyAppReady() => Promise<AppReadyResult>

Notifica a Capacitor Updater que el paquete actual está funcionando (se producirá un rollback si este método no se llama en cada inicio de la aplicación) Por defecto, este método debe llamarse en los primeros 10 segundos después del inicio de la aplicación, de lo contrario se producirá un rollback Cambia este comportamiento con {@link appReadyTimeout}

Devuelve: Promise<AppReadyResult>


setUpdateUrl()

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

Establece la updateUrl para la aplicación, esta se usará para buscar actualizaciones

ParamTypeDescripción
optionsUpdateUrlcontiene la URL a usar para buscar actualizaciones

Desde: 540


setStatsUrl()

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

Establece la statsUrl para la aplicación, esta se usará para enviar estadísticas. Pasar una cadena vacía deshabilitará la recopilación de estadísticas

ParamTypeDescripción
optionsStatsUrlcontiene la URL a usar para enviar estadísticas

Desde: 540


setChannelUrl()

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

Establece la channelUrl para la aplicación, esta se usará para establecer el canal

ParamTypeDescripción
optionsChannelUrlcontiene la URL a usar para establecer el canal

Desde: 540


download()

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

Descarga un nuevo paquete desde la URL proporcionada, debe ser un archivo zip, con archivos dentro o con un id único dentro con todos tus archivos

ParamTypeDescripción
optionsDownloadOptionsLas {@link DownloadOptions} para descargar un nuevo zip de paquete

Devuelve: Promise<BundleInfo>


next()

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

Establece el siguiente paquete que se usará cuando la aplicación sea recargada| Param | Type | Description | | ------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | options | BundleId | Contiene el ID del siguiente Bundle a establecer en el próximo inicio de la aplicación {@link BundleInfoid} |

Returns: Promise<BundleInfo>


set()

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

Establece el bundle actual e inmediatamente recarga la aplicación

ParamTypeDescription
optionsBundleIdUn objeto {@link BundleId} que contiene el nuevo ID de bundle a establecer como actual

delete()

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

Elimina el bundle especificado del almacenamiento nativo de la aplicación. Use con {@link list} para obtener los IDs de Bundle almacenados

ParamTypeDescription
optionsBundleIdUn objeto {@link BundleId} que contiene el ID del bundle a eliminar (nota, este es el ID del bundle, NO el nombre de la versión)

list()

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

Obtiene todos los bundles descargados localmente en tu aplicación

ParamTypeDescription
optionsListOptionsLas {@link ListOptions} para listar bundles

Returns: Promise<BundleListResult>


reset()

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

Restablece la aplicación al bundle builtin (el enviado a Apple App Store / Google Play Store) o al último bundle cargado exitosamente

ParamTypeDescription
optionsResetOptionsContiene {@link ResetOptionstoLastSuccessful}, true restablece al bundle incorporado y false restablecerá al último bundle cargado exitosamente

current()

current() => Promise<CurrentBundleResult>

Obtiene el bundle actual, si no hay ninguno establecido retorna builtin. currentNative es el bundle original instalado en el dispositivo

Returns: Promise<CurrentBundleResult>


reload()

reload() => Promise<void>

Recarga la vista


setMultiDelay()

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

Establece un array {@link DelayCondition} que contiene condiciones que el Plugin usará para retrasar la actualización Después de que todas las condiciones se cumplan, el proceso de actualización comenzará nuevamente como de costumbre, por lo que la actualización se instalará después de poner en segundo plano o matar la aplicación Para el tipo date, el valor debe ser una cadena de fecha iso8601 Para el tipo background, el valor debe ser un número en milisegundos Para el tipo nativeVersion, el valor debe ser el número de versión Para el tipo kill, el valor no se utiliza La función tiene un comportamiento inconsistente; la opción kill activa la actualización después del primer cierre y no después del siguiente segundo plano como otras opciones. Esto se corregirá en una versión mayor futura

ParamTypeDescription
optionsMultiDelayConditionsContiene el array {@link MultiDelayConditions} de condiciones a establecer

Since: 430


cancelDelay()

cancelDelay() => Promise<void>

Cancela una {@link DelayCondition} para procesar una actualización inmediatamente

Since: 400


getLatest()

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

Obtiene el último bundle disponible desde la URL de actualización

ParamType
optionsGetLatestOptions

Returns: Promise<LatestVersion>

Since: 400


setChannel()

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

Establece el canal para este dispositivo. El canal debe permitir la autoasignación para que esto funcione No use este método para establecer el canal al inicio cuando autoUpdate está habilitado en la {@link PluginsConfig} Este método es para establecer el canal después de que la aplicación esté lista Este método envía al backend de Capgo una solicitud para vincular el ID del dispositivo al canal. Capgo puede aceptar o rechazar dependiendo de la configuración de tu canal

ParamTypeDescription
optionsSetChannelOptionsEs el canal {@link SetChannelOptions} a establecer

Returns: Promise<ChannelRes>

Since: 470


unsetChannel()

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

Desestablece el canal para este dispositivoEl dispositivo volverá entonces al canal predeterminado

ParamType
optionsUnsetChannelOptions

Since: 470


getChannel()

getChannel() => Promise<GetChannelRes>

Obtener el canal para este dispositivo

Returns: Promise<GetChannelRes>

Since: 480


setCustomId()

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

Establecer un ID personalizado para este dispositivo

ParamTypeDescription
optionsSetCustomIdOptionses el {@link SetCustomIdOptions} customId a establecer

Since: 490


getBuiltinVersion()

getBuiltinVersion() => Promise<BuiltinVersion>

Obtener la versión nativa de la app o la versión incorporada si está configurada

Returns: Promise<BuiltinVersion>

Since: 520


getDeviceId()

getDeviceId() => Promise<DeviceId>

Obtener ID único usado para identificar el dispositivo (enviado al servidor de actualización automática)

Returns: Promise<DeviceId>


getPluginVersion()

getPluginVersion() => Promise<PluginVersion>

Obtener la versión nativa del plugin Capacitor Updater (enviada al servidor de actualización automática)

Returns: Promise<PluginVersion>


isAutoUpdateEnabled()

isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>

Obtener el estado de la configuración de actualización automática

Returns: Promise<AutoUpdateEnabled>


removeAllListeners()

removeAllListeners() => Promise<void>

Eliminar todos los listeners de este plugin

Since: 100


addListener(‘download’, )

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

Escuchar el evento de descarga de bundle en la App. Se activa cuando comienza una descarga, durante la descarga y cuando finaliza

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

Returns: Promise<PluginListenerHandle>

Since: 2011


addListener(‘noNeedUpdate’, )

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

Escuchar el evento de no necesidad de actualización, útil cuando deseas forzar la comprobación cada vez que se inicia la app

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

Returns: Promise<PluginListenerHandle>

Since: 400


addListener(‘updateAvailable’, )

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

Escuchar el evento de actualización disponible, útil cuando deseas forzar la comprobación cada vez que se inicia la app

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

Returns: Promise<PluginListenerHandle>

Since: 400


addListener(‘downloadComplete’, )

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

Escuchar eventos de descarga completada

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

Returns: Promise<PluginListenerHandle>

Since: 400


addListener(‘majorAvailable’, )

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

Escuchar el evento de actualización Mayor en la App, te permite saber cuándo una actualización mayor está bloqueada por la configuración disableAutoUpdateBreaking

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

Returns: Promise<PluginListenerHandle>

Since: 230


addListener(‘updateFailed’, )

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

Escuchar el evento de fallo de actualización en la App, te permite saber cuándo una actualización ha fallado al instalarse en el próximo inicio de la app

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

Returns: Promise<PluginListenerHandle>

Since: 230


addListener(‘downloadFailed’,```typescript

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

Escuchar el evento de fallo de descarga en la App, te permite saber cuando ha fallado la descarga de un paquete
| Param | Tipo |
| ------------------ | --------------------------------------------------------------------------------------- |
| **`eventName`** | <code>'downloadFailed'</code> |
| **`listenerFunc`** | <code>(state: <a href="#downloadfailedevent">DownloadFailedEvent</a>) =&gt; void</code> |
**Devuelve:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
**Desde:** 400
--------------------
## addListener('appReloaded', )
```typescript
addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

Escuchar el evento de recarga en la App, te permite saber cuando se ha producido una recarga

ParamTipo
eventName’appReloaded’
listenerFunc() => void

Devuelve: Promise<PluginListenerHandle>

Desde: 430


addListener(‘appReady’, )

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

Escuchar el evento de app lista en la App, te permite saber cuando la app está lista para usarse

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

Devuelve: Promise<PluginListenerHandle>

Desde: 510


isAutoUpdateAvailable()

isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>

Obtener si la actualización automática está disponible (no deshabilitada por serverUrl)

Devuelve: Promise<AutoUpdateAvailable>


getNextBundle()

getNextBundle() => Promise<BundleInfo | null>

Obtener el siguiente paquete que será utilizado cuando la app se recargue Devuelve null si no hay un siguiente paquete establecido

Devuelve: Promise<BundleInfo | null>

Desde: 680


Interfaces

AppReadyResult

PropTipo
bundleBundleInfo

BundleInfo

PropTipo
idstring
versionstring
downloadedstring
checksumstring
statusBundleStatus

UpdateUrl

PropTipo
urlstring

StatsUrl

PropTipo
urlstring

ChannelUrl

PropTipo
urlstring

DownloadOptions

PropTipoDescripciónPor defectoDesde
urlstringLa URL del archivo zip del paquete (ej: distzip) a descargar (Puede ser cualquier URL Ej: Amazon S3, un tag de GitHub, cualquier otro lugar donde hayas alojado tu paquete)
versionstringEl código/nombre de versión de este paquete/versión
sessionKeystringLa clave de sesión para la actualizaciónundefined400
checksumstringEl checksum para la actualizaciónundefined400

BundleId

PropTipo
idstring

BundleListResult

PropTipo
bundlesBundleInfo[]

ListOptions

PropTipoDescripciónPor defectoDesde
rawbooleanSi devolver la lista cruda de paquetes o el manifiesto. Si es true, la lista intentará leer la base de datos interna en lugar de los archivos en discofalse6140

ResetOptions

PropTipo
toLastSuccessfulboolean

CurrentBundleResult

PropTipo
bundleBundleInfo
nativestring

MultiDelayConditions

PropTipo
delayConditionsDelayCondition[]

DelayCondition

PropTipoDescripción
kindDelayUntilNextEstablecer condiciones de retraso en setMultiDelay
valuestring

LatestVersion

PropTipoDescripciónDesde
versionstringResultado del método getLatest400
checksumstring6
majorboolean
messagestring
sessionKeystring
errorstring
oldstring
urlstring
manifestManifestEntry[]61

ManifestEntry

PropType
file_namestring | null
file_hashstring | null
download_urlstring | null

GetLatestOptions

PropTypeDescriptionDefaultSince
channelstringEl canal para obtener la última versión. El canal debe permitir ‘self_assign’ para que esto funcioneundefined680

ChannelRes

PropTypeDescriptionSince
statusstringEstado actual del canal establecido470
errorstring
messagestring

SetChannelOptions

PropType
channelstring
triggerAutoUpdateboolean

UnsetChannelOptions

PropType
triggerAutoUpdateboolean

GetChannelRes

PropTypeDescriptionSince
channelstringEstado actual del canal obtenido480
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
percentnumberEstado actual de la descarga, entre 0 y 100400
bundleBundleInfo

NoNeedEvent

PropTypeDescriptionSince
bundleBundleInfoEstado actual de la descarga, entre 0 y 100400

UpdateAvailableEvent

PropTypeDescriptionSince
bundleBundleInfoEstado actual de la descarga, entre 0 y 100400

DownloadCompleteEvent

PropTypeDescriptionSince
bundleBundleInfoSe emite cuando hay una nueva actualización disponible400

MajorAvailableEvent

PropTypeDescriptionSince
versionstringSe emite cuando hay un nuevo paquete principal disponible400

UpdateFailedEvent

PropTypeDescriptionSince
bundleBundleInfoSe emite cuando una actualización falla al instalarse400

DownloadFailedEvent

PropTypeDescriptionSince
versionstringSe emite cuando falla una descarga400

AppReadyEvent

PropTypeDescriptionSince
bundleBundleInfoSe emite cuando la aplicación está lista para usar520
statusstring

AutoUpdateAvailable

PropType
availableboolean

Type Aliases

BundleStatus

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

DelayUntilNext

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