Pular al contenido

Probar compilaciones nativas sin actualizaciones en vivo

Al probar una nueva binaria nativa, asegúrate de que comience desde los activos web empaquetados en esa binaria, no desde una actualización en vivo descargada previamente. Utiliza uno o combina los siguientes salvaguardas.

Establecer CapacitorUpdater.version desde la versión utilizada para tu lanzamiento nativo, y aumenta para cada compilación nativa. Una base nativa más nueva hace que el binario instalado sea distinto de los paquetes antiguos y, con la configuración predeterminada resetWhenUpdate: true, elimina los paquetes descargados cuando se instala la aplicación nativa más nueva.

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 construido con version: '1.4.1' tiene una base nativa más alta que un paquete existente 1.4.0 bundle. No reutilices una versión nativa cuando necesites verificar los activos empaquetados.

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

Sección titulada “2. Bloquear actualizaciones de emulador y compilación de desarrollo en la consola”

Abre tu aplicación en la consola Capgo, ve a Canales, selecciona el canal utilizado por la compilación, y abre la Información pestaña. Activa apaga ambas Permitir construcción de desarrollo y Permitir emuladores.

Capgo información del canal Pestaña mostrando los ajustes de Permitir construcción de desarrollo y Permitir emuladores
Estos controles están en la pestaña de información del canal. Desactiva ambos ajustes resaltados para mantener las construcciones 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 otros ajustes del canal.

3. Habilitar Actualizaciones en Vivo Solo en Compilaciones CI Nativas

Sección titulada “3. Habilitar Actualizaciones en Vivo Solo en Compilaciones CI Nativas”

Para equipos que desean que las compilaciones locales, de emulador y de desarrollador sean seguras por defecto, hagan que las actualizaciones en vivo sean de opción a través de una variable de entorno. La configuración a continuación deshabilita las comprobaciones de actualizaciones a menos que CAPGO_LIVE_UPDATES is exactly 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 establecer la variable porque Capacitor copia esta configuración en los proyectos nativos durante la sincronización. Sin la variable, las compilaciones locales y de emulador mantienen autoUpdate: false y no comprobaban actualizaciones en vivo.

  1. Aumenta la versión utilizada por CapacitorUpdater.version para el binario nativo.
  2. Deshabilita Permite construir en desarrollo y context: Página/área: Sitio web de marketing de Capgo. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página trust.astro. Clave de mensaje `y` (Y). Permite emuladores
  3. en el canal cuando se están probando esos tipos de construcción. CAPGO_LIVE_UPDATES.
  4. Construye localmente sin CAPGO_LIVE_UPDATES=true Establece npx cap sync solamente antes
Sección titulada “Relacionado”