Saltare alla navigazione principale

Esegui test di build nativi senza aggiornamenti in tempo reale

Quando si testa un nuovo binario nativo, assicurati che inizi da asset web inclusi in quel binario - non da un aggiornamento live precedentemente scaricato. Utilizza uno o combinare le misure di sicurezza riportate di seguito.

Imposta CapacitorUpdater.version dalla versione utilizzata per la tua rilascio nativo, e aumentala per ogni build nativo. Una versione di base nativa più recente rende il binario installato diverso dalle vecchie raccolte e, con la configurazione predefinita resetWhenUpdate: true, rimuove le raccolte scaricate quando viene installato l'app nativa più recente.

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;

Ad esempio, un binario costruito con version: '1.4.1' ha una versione di base nativa più alta di un bundle esistente 1.4.0 Non riutilizzare una versione nativa quando hai bisogno di verificare gli asset inclusi.

2. Blocca Aggiornamenti Emulatore e Build di Sviluppo nella Console

Sezione intitolata “2. Blocca Aggiornamenti Emulatore e Build di Sviluppo nella Console”

Apri il tuo app nella Capgo console, vai a Canali, seleziona il canale utilizzato dal build, e apri il Tabella "Informazioni" Spegni entrambi Consenti build di sviluppo e Consenti Emulatore e.

Capgo canale Informazioni scheda mostrando le impostazioni per consentire la costruzione di sviluppo e le impostazioni per gli emulatori
Questi controlli sono nella scheda Informazioni del canale. Disabilitare entrambe le impostazioni evidenziate per mantenere le costruzioni di sviluppo e gli emulatori sui loro asset web integrati.

Questa politica del canale blocca la consegna degli aggiornamenti solo per i tipi di costruzione selezionati. I dispositivi fisici firmati in produzione possono ancora ricevere aggiornamenti in base agli altri impostazioni del canale.

3. Abilita Aggiornamenti in Tempo Reale Solo nelle Costruzioni CI Native

Sezione intitolata “3. Abilita Aggiornamenti in Tempo Reale Solo nelle Costruzioni CI Native”

Per le squadre che vogliono che le costruzioni locali, degli emulatori e dei developer siano sicure di default, rendere gli aggiornamenti in tempo reale facoltativi tramite una variabile di ambiente. La configurazione di seguito disabilita le verifiche degli aggiornamenti a meno che CAPGO_LIVE_UPDATES è esattamente 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;

Imposta la variabile solo nel passaggio di CI che sincronizza e costruisce l'app nativa:

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

Esegui npx cap sync dopo aver impostato la variabile perché Capacitor copia questa configurazione nei progetti nativi durante la sincronizzazione. Senza la variabile, le costruzioni locali e le costruzioni del simulatore mantengono autoUpdate: false e non controllano aggiornamenti in tempo reale.

  1. Aumenta la versione utilizzata da CapacitorUpdater.version per il binario nativo.
  2. Disabilita Consenti la costruzione di sviluppo e Consenti Emulatori quando si testano quei tipi di build.
  3. Costruisci localmente senza CAPGO_LIVE_UPDATES.
  4. Imposta CAPGO_LIVE_UPDATES=true solo prima npx cap sync nella job CI nativa che dovrebbe ricevere aggiornamenti in tempo reale.