Saltar al contenido

Prueba compilaciones nativas sin actualizaciones en vivo

Cuando estés probando una nueva binaria nativa, asegúrate de que comience desde los activos web empaquetados en esa binaria, no desde una descarga previa live update. Utiliza uno o combina los siguientes salvaguardas.

Establecer CapacitorUpdater.version desde la versión utilizada para tu lanzamiento nativo, y aumentarla para cada compilación nativa. Una versión de base nativa más reciente hace que la binaria instalada sea distinta de las versiones antiguas y, con la configuración predeterminada resetWhenUpdate: true, elimina los paquetes descargados cuando se instala la aplicación 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, una binaria construida con version: '1.4.1' tiene una versión de base nativa más alta que una existente 1.4.0 paquete. No reutilice una versión nativa cuando necesite verificar los activos empaquetados.

2. Bloquear actualizaciones del emulador y de compilación en la consola

2. Bloquear actualizaciones del emulador y de compilación en la consola

Abra su aplicación en la consola Capgo, vaya a Canalesseleccione el canal utilizado por la compilación, y abra el Abrir desactivar ambas both Permite construir en desarrollo y Permitir Emuladores.

Capgo información del canal pestaña mostrando la configuración de construcción de desarrollo y Permitir Emuladores
Estos controles están en la pestaña de información del canal. Desactive ambos ajustes destacados para mantener los builds de desarrollo y emuladores en sus activos web empaquetados.

Esta política del canal bloquea la entrega de actualizaciones solo para los tipos de construcción seleccionados. Los dispositivos físicos firmados en producción pueden seguir recibiendo actualizaciones según los demás ajustes del canal.

3. Habilitar Actualizaciones en Vivo Solo en Compilaciones CI Nativas

Título de la sección "3. Habilitar Actualizaciones en Vivo Solo en Compilaciones CI Nativas"

For teams that want local, emulator, and developer builds to be safe by default, make live updates opt-in through an environment variable. The config below disables update checks unless CAPGO_LIVE_UPDATES es 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;

Establezca la variable solo en el paso de CI que sincroniza y compila la aplicación nativa:

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

Ejecutar npx cap sync después de configurar la variable porque Capacitor copia esta configuración en los proyectos nativos durante la sincronización. Sin la variable, los builds locales y de emulador siguen autoUpdate: false y no comprobación de actualizaciones en vivo.

  1. Aumente la versión utilizada por CapacitorUpdater.version para el binario nativo.
  2. Deshabilitar Permitir build de desarrollo y Permitir Emuladores en el canal cuando se prueban esos tipos de compilación.
  3. Compilar localmente sin CAPGO_LIVE_UPDATES.
  4. Configurar CAPGO_LIVE_UPDATES=true solo antes npx cap sync en la tarea CI nativa que debería recibir actualizaciones en vivo.