Saltar al contenido

Tipos de actualización

Capgo admite varios tipos de actualizaciones over-the-air (OTA). En esta página los enumeramos y explicamos para que elijas la combinación ideal para tu app.

Controles cuando la actualización se aplica tras la descarga. El plugin busca actualizaciones al pasar la app al primer plano y mediante un timer mientras la app esté abierta. periodCheckDelay controla ese intervalo (por defecto 10 minutos).

TipoDescripciónCaso de uso
autoUpdate: atBackgroundComprobar y descargar en cada check de foreground, aplicar al pasar la app a backgroundLa mayoría de las apps; mínima interrupción
autoUpdate: atInstallAplicar inmediatamente solo tras una instalación limpia o update de la app store; de lo contrario usar atBackgroundNuevos usuarios reciben la última; usuarios actuales usan background apply
autoUpdate: onLaunchSe aplica de inmediato solo en cold start (killed → foreground); luego vuelve a atBackgroundEquilibrio entre frescura y estabilidad de la sesión
autoUpdate: alwaysComprueba en cada transición a foreground y aplica de inmediato si hay una actualizaciónFixes críticos, apps con estado simple
autoUpdate: onlyDownloadComprueba y descarga automáticamente, emite updateAvailable, y nunca aplica automáticamenteApps que muestran su propio prompt de actualización o controlan cuándo llamar set()

Configúralo en capacitor.config.ts:

plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // default; true is still accepted
// or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload'
}
}

Condiciones que deben cumplirse para antes instalar una actualización. Usa setMultiDelay para combinarlas (deben cumplirse todas).

CondiciónDescripciónEjemplo
fechaEsperar a una fecha/hora específicaCoordinar con el release del servidor
backgroundEsperar un tiempo mínimo (ms) tras pasar a backgroundEvitar la aplicación durante cambios rápidos de app
nativeVersionRequerir una versión mínima del binario nativoBloquear updates en code nativo incompatible
killEsperar al próximo evento de kill de la appAplicar solo tras un reinicio completo
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({
delayConditions: [
{ kind: 'date', value: '2023-06-01T00:00:00.000Z' },
{ kind: 'background', value: '60000' },
],
});

Controla qué actualizaciones semver a channel will auto-deliver. Set via --disable-auto-update en los canales.

EstrategiaBloqueosPermiteCaso de uso
ningunoNadaCualquier versión del bundlePor defecto; auto-update total
majorMajor superior a version_build, por ejemplo 1.2.3 -> 2.0.0Mismo major, por ejemplo 1.2.3 -> 1.9.0 o 1.2.3 -> 1.2.4Evita que cambios disruptivos lleguen a versiones antiguas de code
minorMajor o minor diferente a version_build, por ejemplo 1.2.3 -> 1.3.0Mismo major y minor, por ejemplo 1.2.3 -> 1.2.4Keep updates inside one native minor line
patchCualquier cambio en major, minor o patch, por ejemplo 1.0.0 -> 1.0.1Solo cambian los sufijos mientras que MAJOR.MINOR.PATCH se mantiene idéntico, por ejemplo 1.0.0-beta.1 -> 1.0.0-beta.2 o 1.0.0+build.1 -> 1.0.0+build.2Modo más estricto: sin cambios en la versión core
metadatosFalta min_update_version, o version_build debajo de esteBundle de destino cuyo min_update_version es menor o igual a version_buildReglas de compatibilidad personalizadas por bundle

Estas comprobaciones comparan el bundle de destino con la base nativa enviada como version_build, no con el bundle descargado e instalado actualmente enviado como version_name.

Ventana de la terminal
npx @capgo/cli channel set production --disable-auto-update major

How the el bundle se transfiere al dispositivo.

TipoDescripciónCuándo usarlo
Bundle completoSe descarga todo el bundle de JSPrimera instalación, cambios grandes o si no hay delta disponible
DeltaSolo se descargan los archivos modificadosMost updates; faster and bandwidth-friendly
Ventana de la terminal
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
CategoríaTipos
Momento de aplicaciónoff, atBackground, atInstall, onLaunch, always, onlyDownload
Condiciones de retrasodate, background, nativeVersion, kill
Bloqueo de versionesnone, major, minor, patch, metadata
EntregaBundle completo, Delta

Si estás usando Tipos de actualización para planificar la entrega de live update, conéctalo con Capgo Live Updates para el workflow de producto en Capgo Live Updates, Resumen para los detalles de implementación en Overview, Funcionalidades para los detalles de implementación en Features, Comportamiento de actualización para los detalles de implementación en Update Behavior, y Primeros pasos para los detalles de implementación en Getting Started.