Saltare al contenuto

Testa le costruzioni native senza Live Update

Quando si testa un nuovo binario nativo, assicurati che parta dalle risorse web incorporate in quel binario, non da un live update scaricato precedentemente.

Imposta CapacitorUpdater.version dalla versione utilizzata per la tua rilascio nativo, e aumentalo per ogni build nativo. Una versione di base nativa più recente rende il binario installato diverso dalle vecchie raccolte e, con il default 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'esistente 1.4.0 raccolta. Non riutilizzare una versione nativa quando si deve verificare le risorse incorporate.

2. Blocca Aggiornamenti di Emulatore e Build di Sviluppo nella Console

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

Apri la tua app nel Capgo console, vai a CanaliSeleziona il canale utilizzato dalla build e apri la Informazioni Spegni entrambi both Costruisci una versione di sviluppo and Consenti emulatori.

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

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

3. Abilita gli Aggiornamenti Live Solo nei Build CI Nativi

Sezione intitolata “3. Abilita gli Aggiornamenti Live Solo nei Build CI Nativi”

Per le squadre che desiderano che i build locali, degli emulatori e dei developer siano sicuri di default, abilitare gli aggiornamenti live a richiesta tramite una variabile di ambiente. La configurazione seguente 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 quelle dell'emulatore mantengono autoUpdate: false e non controllano gli aggiornamenti in tempo reale.

  1. Aumenta la versione utilizzata dal CapacitorUpdater.version per il binario nativo.
  2. Disabilita Consenti costruzione di sviluppo e Consenti emulatori su il canale quando si testano quei tipi di costruzione.
  3. Costruisci localmente senza CAPGO_LIVE_UPDATES.
  4. Abilita CAPGO_LIVE_UPDATES=true solamente prima npx cap sync nel CI nativo che dovrebbe ricevere aggiornamenti in tempo reale.