Funciones y ajustes
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Configuración del plugin Updater
Sección titulada “Configuración del plugin Updater”Consulta el Github Readme para más información.
Puedes configurar CapacitorUpdater con estas opciones:
| Prop | Tipo | Descripción | Predeterminado | Desde |
|---|---|---|---|---|
appReadyTimeout | number | Configura los milisegundos que el plugin nativo debe esperar antes de marcar una actualización como 'fallida'. Disponible en Android, iOS y Electron. | 10000 // (10 seconds) | |
responseTimeout | number | Configura los milisegundos que el plugin nativo debe esperar antes de considerar un timeout de API. Disponible en Android, iOS y Electron. | 20000 // (20 seconds) | |
autoDeleteFailed | boolean | Configura si el plugin debe eliminar automáticamente los bundles fallidos. Disponible en Android, iOS y Electron. | true | |
autoDeletePrevious | boolean | Configura si el plugin debe eliminar automáticamente los bundles anteriores tras una actualización exitosa. Disponible en Android, iOS y Electron. | true | |
autoUpdate | boolean | ‘off’ | ‘atBackground’ | ‘atInstall’ | ‘onLaunch’ | ‘always’ | ‘onlyDownload’ | Configura cómo el plugin debe usar Auto Update mediante un servidor de actualizaciones. true equivale a “atBackground”; false equivale a “off”. - off: Desactiva Auto Update - atBackground: Comprueba y descarga automáticamente, luego aplica cuando la app pase a segundo plano - atInstall: Aplica inmediatamente solo tras una instalación limpia o actualización nativa, de lo contrario usa atBackground - onLaunch: Aplica inmediatamente al iniciar, de lo contrario usa atBackground tras la comprobación de inicio - always: Aplica inmediatamente cada vez que se ejecute Auto Update - onlyDownload: Comprueba y descarga automáticamente, emite updateAvailable y nunca establece el siguiente bundle automáticamente. Los modos de aplicación instantánea (“atInstall”, “onLaunch”, “always”) deben subirse con —delta para no ralentizar la experiencia del usuario. En Android e iOS, estos modos requieren autoSplashscreen: true y @capacitor/splash-screen con launchAutoHide: false. Disponible en Android, iOS y Electron. | “atBackground” // true is still accepted | |
resetWhenUpdate | boolean | Elimina automáticamente los bundles descargados previamente cuando se instala en el dispositivo un bundle nativo más reciente. Disponible en Android, iOS y Electron. | true | |
updateUrl | string | Configura la URL o endpoint al que se envían las comprobaciones de actualización. Disponible en Android, iOS y Electron. | https://plugin.capgo.app/updates | |
channelUrl | string | Configura la URL o endpoint para las operaciones de canal. Disponible en Android, iOS y Electron. | https://plugin.capgo.app/channel_self | |
statsUrl | string | Configura la URL o endpoint al que se envían las estadísticas de actualización. Disponible en Android, iOS y Electron. Usa "" para desactivar el envío de estadísticas. | https://plugin.capgo.app/stats | |
publicKey | string | Configura la clave pública para el cifrado de extremo a extremo live update Versión 2. Disponible en Android, iOS y Electron. | undefined | 6.2.0 |
version | string | Configura la versión actual de la app. Se usará para la primera solicitud de actualización. Si no se define, el plugin obtendrá la versión del code nativo. Disponible en Android, iOS y Electron. | undefined | 4.17.48 |
directUpdate | boolean | ‘always’ | ‘atInstall’ | ‘onLaunch’ | Obsoleto. Usa los modos string de autoUpdate: “atInstall”, “onLaunch” o “always”. Esta opción sigue siendo compatible con las apps existentes. El instant apply debe subirse con —delta para que la actualización no ralentice la experiencia del usuario. En Android e iOS, estos modos requieren autoSplashscreen: true y @capacitor/splash-screen con launchAutoHide: false. - false: Nunca hace actualizaciones directas - atInstall: Igual que autoUpdate: “atInstall” - onLaunch: Igual que autoUpdate: “onLaunch” - always: Igual que autoUpdate: “always” - true: Igual que “always” por compatibilidad con versiones anteriores. Disponible en Android, iOS y Electron. | false | 5.1.0 |
autoSplashscreen | boolean | Requerido al usar modos de aplicación instantánea (“atInstall”, “onLaunch” o “always”), incluyendo los valores directUpdate obsoletos. @capacitor/splash-screen debe estar instalado y configurado con launchAutoHide: false. Al activarlo, el plugin oculta la splashscreen tras aplicar las actualizaciones o cuando no hay ninguna pendiente. Esto evita tener que escuchar eventos appReady y llamar a SplashScreen.hide() manualmente. Disponible en Android e iOS. | false | 7.6.0 |
periodCheckDelay | number | Configura el intervalo de tiempo para la comprobación periódica de actualizaciones. La unidad es en segundos. Disponible en Android, iOS y Electron. No puede ser inferior a 600 segundos (10 minutos). | 600 // (10 minutes) | |
localS3 | boolean | Configura el CLI para usar un servidor local de pruebas o un servidor de actualizaciones self-hosted. | undefined | 4.17.48 |
localHost | string | Configura el CLI para usar un servidor local de pruebas o un servidor de actualizaciones self-hosted. | undefined | 4.17.48 |
localWebHost | string | Configura el CLI para usar un servidor local de pruebas o un servidor de actualizaciones self-hosted. | undefined | 4.17.48 |
localSupa | string | Configura el CLI para usar un servidor local de pruebas o un servidor de actualizaciones self-hosted. | undefined | 4.17.48 |
localSupaAnon | string | Configura el CLI para usar un servidor local de pruebas. | undefined | 4.17.48 |
localApi | string | Configura el CLI para usar un api local para pruebas. | undefined | 6.3.3 |
localApiFiles | string | Configura el CLI para usar un archivo local api para pruebas. | undefined | 6.3.3 |
allowModifyUrl | boolean | Permite que el plugin modifique dinámicamente updateUrl, statsUrl y channelUrl desde JavaScript. | false | 5.4.0 |
defaultChannel | string | Establece el canal por defecto de la app en la config. Distingue mayúsculas de minúsculas. Este ajuste sobrescribirá el canal por defecto de la nube, pero respetará los overrides realizados en ella. | undefined | 5.5.0 |
appId | string | Configura el appId de la app en la configuración. | undefined | 6.0.0 |
keepUrlPathAfterReload | boolean | Configura el plugin para mantener la ruta de la URL tras un reload. ADVERTENCIA: Cuando se dispare un reload, se limpiará ‘window.history’. | false | 6.8.0 |
disableJSLogging | boolean | Desactiva el logging de JavaScript del plugin. Si es true, el plugin no hará logs en la consola de JavaScript; solo se realizará el log nativo. | false | 7.3.0 |
shakeMenu | boolean | Activa el gesto de agitar para mostrar el menú de actualizaciones para depuración o pruebas | false | 7.5.0 |
Ejemplos
Sección titulada “Ejemplos”En 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 } }}En 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()- Interfaces
- Alias de tipos
Métodos
Sección titulada “Métodos”notifyAppReady()
Sección titulada “notifyAppReady()”notifyAppReady() => Promise<AppReadyResult>Notifica al Capacitor Updater que el bundle actual funciona (se realizará un rollback si no se llama a este método en cada inicio de la app). Por defecto, este método debe llamarse en los primeros 10 segundos tras el inicio de la app; de lo contrario, se ejecutará un rollback. Cambia este comportamiento con {@link appReadyTimeout}
Devuelve: Promise<AppReadyResult>
setUpdateUrl(…)
Sección titulada “setUpdateUrl(…)”setUpdateUrl(options: UpdateUrl) => Promise<void>Establece el updateUrl de la app; se usará para buscar actualizaciones.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | UpdateUrl | contiene la URL que se usará para buscar actualizaciones. |
Desde: 5.4.0
setStatsUrl(…)
Sección titulada “setStatsUrl(…)”setStatsUrl(options: StatsUrl) => Promise<void>Configura el statsUrl de la app, que se usará para enviar estadísticas. Pasar un string vacío desactivará la recopilación de estadísticas.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | StatsUrl | contiene la URL que se usará para enviar estadísticas. |
Desde: 5.4.0
setChannelUrl(…)
Sección titulada “setChannelUrl(…)”setChannelUrl(options: ChannelUrl) => Promise<void>Establece el channelUrl de la app; se usará para definir el canal.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | ChannelUrl | contiene la URL que se usará para configurar el canal. |
Desde: 5.4.0
download(…)
Sección titulada “download(…)”download(options: DownloadOptions) => Promise<BundleInfo>Descarga un nuevo bundle desde la URL proporcionada; debe ser un archivo zip con los archivos dentro o con un ID único que contenga todos tus archivos.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | DownloadOptions | El {@link} DownloadOptions} para descargar un nuevo zip del bundle. |
Devuelve: Promise<BundleInfo>
next(…)
Sección titulada “next(…)”next(options: BundleId) => Promise<BundleInfo>Establece el siguiente bundle que se usará cuando la app se recargue.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | BundleId | Contiene el ID del siguiente Bundle que se aplicará al iniciar la app. {@link} BundleInfo.id} |
Devuelve: Promise<BundleInfo>
set(options: BundleId) => Promise<void>Establece el bundle actual y reinicia la app inmediatamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | BundleId | A {@link} BundleId} que contiene el nuevo bundle id para establecer como actual. |
delete(…)
Sección titulada “delete(…)”delete(options: BundleId) => Promise<void>Elimina el bundle especificado del almacenamiento nativo de la app. Úsalo con {@link list} para obtener los Bundle IDs almacenados.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | BundleId | A {@link} BundleId} objeto que contiene el ID del bundle a eliminar (nota: es el bundle id, NO el nombre de la versión) |
list(…)
Sección titulada “list(…)”list(options?: ListOptions | undefined) => Promise<BundleListResult>Obtener todos los bundles descargados localmente en tu app
| Parámetro | Tipo | Descripción |
|---|---|---|
options | ListOptions | El {@link} ListOptions} para listar bundles |
Devuelve: Promise<BundleListResult>
reset(…)
Sección titulada “reset(…)”reset(options?: ResetOptions | undefined) => Promise<void>Reinicia la app al builtin bundle (el enviado a Apple App Store / Google Play Store) o al último bundle cargado con éxito.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | ResetOptions | Contiene {@link ResetOptions.toLastSuccessful}, true reinicia al bundle integrado y false se restablecerá al último bundle cargado con éxito. |
current()
Sección titulada “current()”current() => Promise<CurrentBundleResult>Obtiene el bundle actual; si no hay ninguno, devuelve builtin. currentNative es el bundle original instalado en el dispositivo
Devuelve: Promise<CurrentBundleResult>
reload()
Sección titulada “reload()”reload() => Promise<void>Recarga la vista
setMultiDelay(…)
Sección titulada “setMultiDelay(…)”setMultiDelay(options: MultiDelayConditions) => Promise<void>Establece un array de {@link} DelayCondition} que contiene las condiciones que el Plugin usará para retrasar la actualización.
Una vez cumplidas todas las condiciones, el proceso de actualización se iniciará de nuevo como de costumbre, por lo que se instalará tras pasar a segundo plano o cerrar la app.
Para el tipo date , el valor debe ser un string 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 dispara la actualización tras el primer cierre y no tras el siguiente paso a segundo plano, a diferencia de otras opciones. Esto se corregirá en una futura versión mayor.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | MultiDelayConditions | Contiene el array {@link MultiDelayConditions} de condiciones para establecer |
Desde: 4.3.0
cancelDelay()
Sección titulada “cancelDelay()”cancelDelay() => Promise<void>Cancela un {@link DelayCondition} para procesar una actualización de inmediato.
Desde: 4.0.0
getLatest(…)
Sección titulada “getLatest(…)”getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>Obtén el último bundle disponible desde la URL de actualización
| Parámetro | Tipo |
|---|---|
options | GetLatestOptions |
Devuelve: Promise<LatestVersion>
Desde: 4.0.0
setChannel(…)
Sección titulada “setChannel(…)”setChannel(options: SetChannelOptions) => Promise<ChannelRes>Establece el canal local gestionado por el plugin para este dispositivo. El canal debe tener allow_device_self_set habilitado para que esto funcione.
setChannel() valida el canal con el backend y luego lo guarda localmente en el dispositivo. No crea ni actualiza un Device Override en el backend, por lo que el dispositivo no aparecerá como sobrescrito en el dashboard de Capgo. Solo las asignaciones creadas desde el dashboard o el API público se muestran en la interfaz de Device Override.
Notas importantes:
- No uses este método para establecer el canal al arrancar. Usa
defaultChannelen tu configuración de Capacitor en su lugar. - Este método está pensado para usarse una vez que la app esté lista y el usuario haya interactuado (por ejemplo, al unirse a un programa beta).
- Los canales públicos no se pueden autoasignar. Si un canal está marcado como
public", llamar asetChannel()devolverá un error. Para usar un canal público, llama aunsetChannel()en su lugar; el dispositivo cambiará automáticamente al canal público correspondiente. - Usa
listChannels()para descubrir qué canales están disponibles y si permiten la autoasignación.
| Parámetro | Tipo | Descripción |
|---|---|---|
options | SetChannelOptions | ¿El canal {@link} SetChannelOptions} canal para configurar |
Devuelve: Promise<ChannelRes>
Desde: 4.7.0
unsetChannel(…)
Sección titulada “unsetChannel(…)”unsetChannel(options: UnsetChannelOptions) => Promise<void>Elimina el canal local gestionado por el plugin en este dispositivo. Esto solo limpia el canal almacenado localmente por setChannel(); no elimina los registros de Dashboard o de API Device Override públicos.
Tras llamar a este método, se aplica la precedencia normal de canales: un Dashboard o API Device Override público existente sigue teniendo prioridad; de lo contrario, el dispositivo puede volver al canal público/por defecto que coincida con sus condiciones (plataforma, tipo de dispositivo, tipo de build).
Esto es útil cuando:
- Quieres devolver un dispositivo al track de actualización por defecto
- Quieres usar un canal público (ya que los canales públicos no se pueden asignar mediante
setChannel())
| Parámetro | Tipo |
|---|---|
options | UnsetChannelOptions |
Desde: 4.7.0
getChannel()
Sección titulada “getChannel()”getChannel() => Promise<GetChannelRes>Obtener el canal para este dispositivo
Devuelve: Promise<GetChannelRes>
Desde: 4.8.0
listChannels()
Sección titulada “listChannels()”listChannels() => Promise<ListChannelsResult>Lista todos los canales disponibles para este dispositivo. Devuelve los canales compatibles con el entorno actual del dispositivo (plataforma, emulador/dispositivo real, build de dev/prod) que sean públicos o permitan la autoasignación.
Cada canal del resultado incluye:
public: Sitrue, este es un canal por defecto. No puedes autoasignarte a él usandosetChannel(). En su lugar, si eliminas tu asignación de canal usandounsetChannel(), el dispositivo recibirá automáticamente actualizaciones de este canal público.allow_self_set: Sitrue, este es un canal autoasignable. Puedes asignar explícitamente el dispositivo a este canal usandosetChannel().
Devuelve: Promise<ListChannelsResult>
Desde: 7.5.0
setCustomId(…)
Sección titulada “setCustomId(…)”setCustomId(options: SetCustomIdOptions) => Promise<void>Establecer un ID personalizado para este dispositivo
| Parámetro | Tipo | Descripción |
|---|---|---|
options | SetCustomIdOptions | es el {@link} SetCustomIdOptions customId para establecer |
Desde: 4.9.0
getBuiltinVersion()
Sección titulada “getBuiltinVersion()”getBuiltinVersion() => Promise<BuiltinVersion>Obtén la versión de la app nativa o la versión integrada si se definió en la config
Devuelve: Promise<BuiltinVersion>
Desde: 5.2.0
getDeviceId()
Sección titulada “getDeviceId()”getDeviceId() => Promise<DeviceId>Obtiene el ID único para identificar el dispositivo (se envía al servidor de auto update)
Devuelve: Promise<DeviceId>
getPluginVersion()
Sección titulada “getPluginVersion()”getPluginVersion() => Promise<PluginVersion>Obtiene la versión del plugin nativo Capacitor Updater (se envía al servidor de auto update)
Devuelve: Promise<PluginVersion>
isAutoUpdateEnabled()
Sección titulada “isAutoUpdateEnabled()”isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>Obtén el estado de la configuración de auto update.
Devuelve: Promise<AutoUpdateEnabled>
removeAllListeners()
Sección titulada “removeAllListeners()”removeAllListeners() => Promise<void>Elimina todos los listeners de este plugin.
Desde: 1.0.0
addListener(‘download’, …)
Sección titulada “addListener(‘download’, …)”addListener(eventName: 'download', listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de descarga del bundle en la App. Se dispara cuando empieza una descarga, durante la descarga y al terminar. Esto te devuelve todos los porcentajes de descarga durante la descarga.
| Parámetro | Tipo |
|---|---|
eventName | ‘download’ |
listenerFunc | (state: DownloadEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 2.0.11
addListener(‘noNeedUpdate’, …)
Sección titulada “addListener(‘noNeedUpdate’, …)”addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de que no es necesario actualizar, útil cuando quieres forzar la comprobación cada vez que se inicia la app
| Parámetro | Tipo |
|---|---|
eventName | ‘noNeedUpdate’ |
listenerFunc | (state: NoNeedEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 4.0.0
addListener(‘updateAvailable’, …)
Sección titulada “addListener(‘updateAvailable’, …)”addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de actualización disponible; útil si quieres forzar una comprobación cada vez que se inicia la app
| Parámetro | Tipo |
|---|---|
eventName | ‘updateAvailable’ |
listenerFunc | (state: UpdateAvailableEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 4.0.0
addListener(‘downloadComplete’, …)
Sección titulada “addListener(‘downloadComplete’, …)”addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>Escucha los eventos de downloadComplete.
| Parámetro | Tipo |
|---|---|
eventName | ‘downloadComplete’ |
listenerFunc | (state: DownloadCompleteEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 4.0.0
addListener(‘majorAvailable’, …)
Sección titulada “addListener(‘majorAvailable’, …)”addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de actualización mayor en la App; te avisa cuando una actualización mayor está bloqueada al configurar disableAutoUpdateBreaking
| Parámetro | Tipo |
|---|---|
eventName | ‘majorAvailable’ |
listenerFunc | (state: MajorAvailableEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 2.3.0
addListener(‘updateFailed’, …)
Sección titulada “addListener(‘updateFailed’, …)”addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de error de actualización en la App; te avisa cuando una actualización falla al instalarse en el próximo inicio
| Parámetro | Tipo |
|---|---|
eventName | ‘updateFailed’ |
listenerFunc | (state: UpdateFailedEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 2.3.0
addListener(‘downloadFailed’, …)
Sección titulada “addListener(‘downloadFailed’, …)”addListener(eventName: 'downloadFailed', listenerFunc: (state: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de error de descarga en la App; te avisa cuando falla la descarga de un bundle
| Parámetro | Tipo |
|---|---|
eventName | ‘downloadFailed’ |
listenerFunc | (state: DownloadFailedEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 4.0.0
addListener(‘appReloaded’, …)
Sección titulada “addListener(‘appReloaded’, …)”addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>Escucha el evento de recarga en la App para saber cuándo ha ocurrido
| Parámetro | Tipo |
|---|---|
eventName | ‘appReloaded’ |
listenerFunc | () => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 4.3.0
addListener(‘appReady’, …)
Sección titulada “addListener(‘appReady’, …)”addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>Escucha el evento de la app lista; te avisa cuando la app está preparada para usarse
| Parámetro | Tipo |
|---|---|
eventName | ‘appReady’ |
listenerFunc | (state: AppReadyEvent) => void |
Devuelve: Promise<PluginListenerHandle>
Desde: 5.1.0
isAutoUpdateAvailable()
Sección titulada “isAutoUpdateAvailable()”isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>Comprueba si hay una auto actualización disponible (si no está desactivada por serverUrl).
Devuelve: Promise<AutoUpdateAvailable>
getNextBundle()
Sección titulada “getNextBundle()”getNextBundle() => Promise<BundleInfo | null>Obtiene el siguiente bundle que se usará cuando la app se recargue. Devuelve null si no hay un siguiente bundle configurado.
Devuelve: Promise<BundleInfo | null>
Desde: 6.8.0
setShakeMenu(…)
Sección titulada “setShakeMenu(…)”setShakeMenu(options: SetShakeMenuOptions) => Promise<void>Habilita o deshabilita el menú de sacudida para depuración o pruebas
| Parámetro | Tipo | Descripción |
|---|---|---|
options | SetShakeMenuOptions | Contiene un booleano para activar o desactivar el shake menu |
Desde: 7.5.0
isShakeMenuEnabled()
Sección titulada “isShakeMenuEnabled()”isShakeMenuEnabled() => Promise<ShakeMenuEnabled>Obtén el estado actual del shake menu
Devuelve: Promise<ShakeMenuEnabled>
Desde: 7.5.0
Interfaces
Sección titulada “Interfaces”AppReadyResult
Sección titulada “AppReadyResult”| Prop | Tipo |
|---|---|
bundle | BundleInfo |
BundleInfo
Sección titulada “BundleInfo”| Prop | Tipo |
|---|---|
id | string |
version | string |
downloaded | string |
checksum | string |
status | BundleStatus |
UpdateUrl
Sección titulada “UpdateUrl”| Prop | Tipo |
|---|---|
url | string |
StatsUrl
Sección titulada “StatsUrl”| Prop | Tipo |
|---|---|
url | string |
ChannelUrl
Sección titulada “ChannelUrl”| Prop | Tipo |
|---|---|
url | string |
DownloadOptions
Sección titulada “DownloadOptions”Esta URL y las versiones se usan para descargar el bundle desde el servidor. Si usas un backend, el método getLatest proporcionará toda la información. Si no usas backend, debes proporcionar la URL y la versión del bundle. Los SessionKey son obligatorios si cifraste el bundle con el comando CLI encrypt; deberías recibirlos como resultado del comando.
| Prop | Tipo | Descripción | Predeterminado | Desde |
|---|---|---|---|---|
url | string | La URL del archivo zip del bundle (ej: dist.zip) a descargar. (Puede ser cualquier URL. Ej: Amazon S3, un tag de GitHub, o cualquier lugar donde hayas alojado tu bundle). | ||
version | string | La versión code/nombre de este bundle/versión | ||
sessionKey | string | La session key de la actualización, cuando el bundle está cifrado con una session key | undefined | 4.0.0 |
checksum | string | El checksum de la actualización; debe ser sha256 y estar cifrado con una private key si el bundle está cifrado | undefined | 4.0.0 |
manifest | ManifestEntry[] | El manifiesto para descargas de múltiples archivos mediante Delta (manifest) | undefined | 6.1.0 |
ManifestEntry
Sección titulada “ManifestEntry”| Prop | Tipo |
|---|---|
file_name | string | null |
file_hash | string | null |
download_url | string | null |
BundleId
Sección titulada “BundleId”| Prop | Tipo |
|---|---|
id | string |
BundleListResult
Sección titulada “BundleListResult”| Prop | Tipo |
|---|---|
bundles | BundleInfo[] |
ListOptions
Sección titulada “ListOptions”| Prop | Tipo | Descripción | Predeterminado | Desde |
|---|---|---|---|---|
raw | boolean | Indica si se devuelve la lista de bundles sin procesar o el manifiesto. Si es true, la lista intentará leer la base de datos interna en lugar de los archivos en disco. | false | 6.14.0 |
ResetOptions
Sección titulada “ResetOptions”| Prop | Tipo |
|---|---|
toLastSuccessful | boolean |
CurrentBundleResult
Sección titulada “CurrentBundleResult”| Prop | Tipo |
|---|---|
bundle | BundleInfo |
native | string |
MultiDelayConditions
Sección titulada “MultiDelayConditions”| Prop | Tipo |
|---|---|
delayConditions | DelayCondition[] |
DelayCondition
Sección titulada “DelayCondition”| Prop | Tipo | Descripción |
|---|---|---|
kind | DelayUntilNext | Configura las condiciones de retraso en setMultiDelay |
value | string |
LatestVersion
Sección titulada “LatestVersion”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
version | string | Resultado del método getLatest | 4.0.0 |
checksum | string | 6 | |
major | boolean | ||
message | string | ||
sessionKey | string | ||
error | string | ||
old | string | ||
url | string | ||
manifest | ManifestEntry[] | 6.1 |
GetLatestOptions
Sección titulada “GetLatestOptions”| Prop | Tipo | Descripción | Predeterminado | Desde |
|---|---|---|---|---|
channel | string | El canal para obtener la última versión. El canal debe permitir ‘self_assign’ para que esto funcione | undefined | 6.8.0 |
ChannelRes
Sección titulada “ChannelRes”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
status | string | Estado actual del canal establecido | 4.7.0 |
error | string | ||
message | string |
SetChannelOptions
Sección titulada “SetChannelOptions”| Prop | Tipo |
|---|---|
channel | string |
triggerAutoUpdate | boolean |
UnsetChannelOptions
Sección titulada “UnsetChannelOptions”| Prop | Tipo |
|---|---|
triggerAutoUpdate | boolean |
GetChannelRes
Sección titulada “GetChannelRes”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
channel | string | Estado actual de get channel | 4.8.0 |
error | string | ||
message | string | ||
status | string | ||
allowSet | boolean |
ListChannelsResult
Sección titulada “ListChannelsResult”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
channels | ChannelInfo[] | Lista de canales disponibles | 7.5.0 |
ChannelInfo
Sección titulada “ChannelInfo”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
id | number | El ID numérico del canal | 7.5.0 |
name | string | El nombre del canal | 7.5.0 |
public | boolean | Si es true, este es un canal predeterminado/de fallback. Los dispositivos no pueden autoasignarse a canales públicos. En su lugar, cuando un dispositivo elimina su override de canal (usando unsetChannel()), recibirá automáticamente actualizaciones del canal público correspondiente. | 7.5.0 |
allow_self_set | boolean | Si es true, los dispositivos pueden autoasignarse explícitamente a este canal usando setChannel(). Se usa normalmente para beta testing, A/B testing o tracks de actualizaciones opt-in. | 7.5.0 |
Los comandos de canal usan el canal name, no este ID numérico id.
SetCustomIdOptions
Sección titulada “SetCustomIdOptions”| Prop | Tipo |
|---|---|
customId | string |
BuiltinVersion
Sección titulada “BuiltinVersion”| Prop | Tipo |
|---|---|
version | string |
DeviceId
Sección titulada “DeviceId”| Prop | Tipo |
|---|---|
deviceId | string |
PluginVersion
Sección titulada “PluginVersion”| Prop | Tipo |
|---|---|
version | string |
AutoUpdateEnabled
Sección titulada “AutoUpdateEnabled”| Prop | Tipo |
|---|---|
enabled | boolean |
PluginListenerHandle
Sección titulada “PluginListenerHandle”| Prop | Tipo |
|---|---|
remove | () => Promise<void> |
DownloadEvent
Sección titulada “DownloadEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
percent | number | Estado actual de la descarga, entre 0 y 100. | 4.0.0 |
bundle | BundleInfo |
NoNeedEvent
Sección titulada “NoNeedEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
bundle | BundleInfo | Estado actual de la descarga, entre 0 y 100. | 4.0.0 |
UpdateAvailableEvent
Sección titulada “UpdateAvailableEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
bundle | BundleInfo | Estado actual de la descarga, entre 0 y 100. | 4.0.0 |
DownloadCompleteEvent
Sección titulada “DownloadCompleteEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
bundle | BundleInfo | Emit when a new update is available. | 4.0.0 |
MajorAvailableEvent
Sección titulada “MajorAvailableEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
version | string | Se emite cuando hay un nuevo bundle mayor disponible. | 4.0.0 |
UpdateFailedEvent
Sección titulada “UpdateFailedEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
bundle | BundleInfo | Emit when a update failed to install. | 4.0.0 |
DownloadFailedEvent
Sección titulada “DownloadFailedEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
version | string | Se emite cuando falla una descarga. | 4.0.0 |
AppReadyEvent
Sección titulada “AppReadyEvent”| Prop | Tipo | Descripción | Desde |
|---|---|---|---|
bundle | BundleInfo | Se emite cuando la app está lista para usarse. | 5.2.0 |
status | string |
AutoUpdateAvailable
Sección titulada “AutoUpdateAvailable”| Prop | Tipo |
|---|---|
available | boolean |
SetShakeMenuOptions
Sección titulada “SetShakeMenuOptions”| Prop | Tipo |
|---|---|
enabled | boolean |
ShakeMenuEnabled
Sección titulada “ShakeMenuEnabled”| Prop | Tipo |
|---|---|
enabled | boolean |
Alias de tipos
Sección titulada “Type Aliases”BundleStatus
Sección titulada “BundleStatus”pending: El bundle está pendiente de ser SET como el siguiente bundle. downloading: El bundle se está descargando. success: El bundle se descargó y está listo para CONFIGURAR como el siguiente bundle. error: El bundle no se pudo descargar.
‘success’ | ‘error’ | ‘pending’ | ‘downloading’
DelayUntilNext
Sección titulada “DelayUntilNext”‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’
Continúa desde Functions y settings
Sección titulada “Continuar desde Functions y settings”Si estás usando Funciones y ajustes para planificar las operaciones del dashboard y de API, conéctalo con Al usar @capgo/capacitor-updater para la funcionalidad nativa al usar @capgo/capacitor-updater, Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.