Saltar al contenido

Tipos de Actualización

Capgo admite varios tipos de actualizaciones por aire (OTA). Esta página enumera y explica todos ellos para que puedas elegir la combinación adecuada para tu aplicación.

Controla cuándo se aplica una actualización después de ser descargada.

TipoDescripciónCaso de Uso
PredeterminadoDescargar en segundo plano, aplicar cuando el usuario pone la app en segundo plano o la cierraLa mayoría de las apps; mínima interrupción
directUpdate: atInstallAplicar inmediatamente solo en instalación nueva o actualización desde la tienda de appsLos nuevos usuarios obtienen la última versión; los usuarios existentes usan el flujo predeterminado
directUpdate: onLaunchAplicar inmediatamente en instalación, actualización de tienda o después de cerrar la appBalance entre frescura y estabilidad de sesión
directUpdate: alwaysAplicar inmediatamente cuando se descarga una actualización (incluso al reanudar)Correcciones críticas, apps con estado simple

Configurar en capacitor.config.ts:

plugins: {
CapacitorUpdater: {
directUpdate: false, // default
// or: 'atInstall' | 'onLaunch' | 'always'
}
}

Condiciones que deben cumplirse antes de que se instale una actualización. Usa setMultiDelay para combinarlas (todas las condiciones deben satisfacerse).

CondiciónDescripciónEjemplo
dateEsperar hasta después de una fecha/hora específicaCoordinar con lanzamiento del lado del servidor
backgroundEsperar una duración mínima (ms) después de que la app pase a segundo planoEvitar aplicar durante cambios rápidos de app
nativeVersionRequerir una versión binaria nativa mínimaBloquear actualizaciones en código nativo incompatible
killEsperar hasta el siguiente evento de cierre de appAplicar solo en 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 entregará automáticamente un canal. Se configura mediante --disable-auto-update en los canales.

EstrategiaBloqueaPermiteCaso de Uso
noneNadaTodas las actualizacionesPredeterminado; actualización automática completa
major0.0.0 → 1.0.0Mismo major (ej. 1.x → 1.y)Prevenir cambios incompatibles en versiones nativas antiguas
minor0.0.0 → 1.1.0, 1.1.0 → 1.2.0Mismo minor (ej. 1.2.x → 1.2.y)Control más estricto dentro del major
patchCualquier cambio excepto incremento de patchSolo 0.0.311 → 0.0.314Muy estricto; solo actualizaciones de patch
metadataActualizaciones sin min_update_versionActualizaciones con metadatos de compatibilidad explícitosReglas de compatibilidad personalizadas por bundle
Terminal window
npx @capgo/cli channel set production --disable-auto-update major

Cómo se transfiere el bundle al dispositivo.

TipoDescripciónCuándo Usar
Bundle completoSe descarga el bundle JS completoPrimera instalación, cambios grandes o cuando delta no está disponible
Delta (manifest)Solo se descargan los archivos modificadosLa mayoría de las actualizaciones; más rápido y amigable con el ancho de banda
Terminal window
# Bundle completo (predeterminado)
npx @capgo/cli bundle upload --channel production
# Actualizaciones delta
npx @capgo/cli bundle upload --channel production --delta
CategoríaTipos
Momento de aplicaciónPredeterminado, atInstall, onLaunch, always
Condiciones de retrasodate, background, nativeVersion, kill
Bloqueo de versionesnone, major, minor, patch, metadata
EntregaBundle completo, Delta (manifest)