Saltar al contenido

Prueba Native Builds sin Live Updates

Al probar un nuevo binario nativo, asegúrate de que se inicie desde los assets web empaquetados en ese binario, no desde un live update descargado previamente. Usa uno o combina las salvaguardas siguientes.

Configurar CapacitorUpdater.version desde la versión utilizada para tu release nativo, e incrémentala en cada build nativo. Una línea base nativa más reciente distingue el binario instalado de los bundles anteriores y, con el valor predeterminado resetWhenUpdate: true, elimina los bundles descargados cuando se instala la app nativa más reciente.

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
// Keep this aligned with, and increase it for, every native build.
version: pkg.version,
autoUpdate: 'atBackground',
},
},
};
export default config;

Por ejemplo, un binario compilado con version: '1.4.1' tiene una línea base nativa más alta que un 1.4.0 bundle. No reutilices una versión nativa cuando necesites verificar los assets del bundle.

2. Bloquea las actualizaciones de emulador y development build en la consola

Sección titulada “2. Bloquea las actualizaciones de emuladores y Native Build en la consola”

Abre tu app en la consola de Capgo, ve a Canales, selecciona el canal que usa el build y abre la Información pestaña. Gira Live Update ambos Permitir build de desarrollo y Permitir emuladores.

Capgo pestaña Information del canal con los ajustes Allow development build y Allow Emulators
Estos controles están en la pestaña Information del canal. Desactiva ambos ajustes resaltados para que los builds de desarrollo y emuladores usen sus propios web assets del bundle.

Esta política de canal bloquea la entrega de actualizaciones solo para los tipos de build seleccionados. Los dispositivos físicos con firma de producción siguen recibiendo actualizaciones según el resto de la configuración del canal.

3. Habilitar Live Updates solo en builds nativos de CI

Sección titulada «3. Habilita Live Updates solo en los builds nativos de CI»

Para los equipos que quieran que los builds locales, de emulador y de desarrollo sean seguros por defecto, haz que los Live Updates sean opt-in mediante una variable de entorno. La configuración de abajo desactiva la comprobación de actualizaciones a menos que CAPGO_LIVE_UPDATES sea exactamente true:

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const liveUpdatesEnabled = process.env.CAPGO_LIVE_UPDATES === 'true';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// Bump package.json for every native build.
version: pkg.version,
// Local builds are off; native CI explicitly enables live updates.
autoUpdate: liveUpdatesEnabled ? 'atBackground' : false,
},
},
};
export default config;

Configura la variable solo en el paso de CI que sincroniza y construye la app nativa:

- run: CAPGO_LIVE_UPDATES=true npx cap sync
- run: ./build-native-app.sh

Ejecuta npx cap sync después de configurar la variable, ya que Capacitor copia esta configuración en los proyectos nativos durante el sync. Sin la variable, los builds locales y de emulador mantienen autoUpdate: false y no comprueban si hay live updates.

  1. Incrementa la versión usada por CapacitorUpdater.version para el binario nativo.
  2. Desactivar Permitir build de desarrollo y Permitir emuladores en el canal al probar esos tipos de build.
  3. Compila localmente sin CAPGO_LIVE_UPDATES.
  4. Configurar CAPGO_LIVE_UPDATES=true solo antes de npx cap sync en el job de CI nativo que debe recibir actualizaciones en vivo.