Saltar al contenido

Prueba Construcciones Nativas Sin Actualizaciones en Vivo

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

Establecer CapacitorUpdater.version desde la versión utilizada para su 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 las versiones descargadas 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 bundle. No reutilice una versión nativa cuando necesite verificar los activos empaquetados.

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

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

Abra su aplicación en la consola Capgo, vaya a Canales , seleccione el canal utilizado por la compilación, y abra la Información pantalla. Desactive ambas Permitir compilación de desarrollo y Permitir emuladores Allow Emulators.

Capgo canal Información pestaña mostrando la configuración de Allow desarrollo build y Allow Emuladores
Estos controles se encuentran en la pestaña de Información del canal. Deshabilite ambas configuraciones destacadas para mantener los builds de desarrollo y emuladores en sus activos web empaquetados.

Esta política de canal bloquea la entrega de actualizaciones solo para los tipos de build seleccionados. Los dispositivos físicos firmados en producción pueden seguir recibiendo actualizaciones según las otras configuraciones del canal.

3. Habilitar Actualizaciones en Vivo Solo en Builds CI Nativos

Título de sección “3. Habilitar Actualizaciones en Vivo Solo en Builds CI Nativos”

Para los equipos que desean que los builds locales, de emulador y de desarrollador sean seguros 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 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 establecer la variable porque Capacitor copia esta configuración en los proyectos nativos durante la sincronización. Sin la variable, los builds locales y los builds de emulador siguen autoUpdate: false y no comprobando actualizaciones en vivo.

  1. Incrementar la versión utilizada por CapacitorUpdater.version para el binario nativo.
  2. Deshabilitar Permitir builds de desarrollo y Permitir Emuladores en el canal cuando se están probando esos tipos de compilación.
  3. Compila localmente sin CAPGO_LIVE_UPDATES.
  4. Establecer CAPGO_LIVE_UPDATES=true solo antes de npx cap sync en el trabajo CI nativo que debería recibir actualizaciones en vivo.