Saltare al contenuto

Testa i 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 i seguenti safeguard.

Impostare CapacitorUpdater.version da la versione utilizzata per la tua rilascio nativo, e aumentalo per ogni build nativo. Una baseline 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 baseline nativa più alta di un'esistente 1.4.0 bundle. Non riutilizzare una versione nativa quando hai bisogno di verificare gli asset raccolti.

2. Blocca gli aggiornamenti per emulatori e build di sviluppo nella Console

Sezione intitolata “2. Blocca gli aggiornamenti per emulatori e build di sviluppo nella Console”

Apre il tuo app nella console Capgo, vai a Canalicontext Nome del feature dei canali di rilascio Capgo. Pagina/area: Pagina di marketing delle soluzioni Capgo. Ruolo: Etichetta breve di navigazione o elemento UI. Visto in: pagina solutions/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Valore della cella visiva White Label Solutions). tab. Spegni off entrambi Consenti la costruzione di sviluppo e context: Pagina/Area: Sito web di marketing Capgo. Ruolo: Etichetta breve UI o elemento di navigazione. Visualizzato in: pagina trust.astro. Chiave messaggio `e` (E)..

Capgo channel Information tab showing the Allow development build and Allow Emulators settings
__CAPGO_KEEP_0__ Informazioni canale Tabella mostrante le impostazioni Consenti la costruzione di sviluppo e Consenti Emulatori

L'immagine di screenshot mostra dove trovare le impostazioni; i suoi pulsanti evidenziati sono abilitati. Spegni entrambi i pulsanti per un canale che non deve inviare aggiornamenti live alle costruzioni di sviluppo o agli emulatori.

3. Abilita gli aggiornamenti in tempo reale solo nei build CI nativi

Sezione intitolata “3. Abilita gli aggiornamenti in tempo reale solo nei build CI nativi”

Per le squadre che desiderano che i build locali, emulator e di sviluppatore siano sicuri di default, rendi 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 passo di CI che sincronizza e costruisce l'app nativa:

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

Eseguisci npx cap sync dopo aver impostato la variabile perché Capacitor copia questa configurazione nei progetti nativi durante la sincronizzazione. Senza la variabile, i build locali e i build emulator mantengono autoUpdate: false e non controllano gli aggiornamenti in tempo reale.

  1. Aumenta la versione utilizzata da CapacitorUpdater.version per il binario nativo.
  2. Disabilita Consenti l'edizione di sviluppo e Consenti gli emulatori su il canale quando si testano questi tipi di build.
  3. Costruisci localmente senza CAPGO_LIVE_UPDATES.
  4. Imposta CAPGO_LIVE_UPDATES=true solamente prima npx cap sync in il lavoro CI nativo che dovrebbe ricevere gli aggiornamenti in tempo reale.