Saltare al contenuto

Testa i costrutti nativi senza aggiornamenti in tempo reale

Quando si testa un nuovo binario nativo, assicurati che inizi da asset web incorporati 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 impostazione predefinita resetWhenUpdate: true, removes downloaded bundles when the newer native app is installed.

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 un livello di base nativo più alto di un esistente 1.4.0 pacchetto. Non riutilizzare una versione nativa quando hai bisogno di verificare gli asset del pacchetto.

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 la Informazioni scheda. Disattiva la entrambi Consenti la costruzione di sviluppo e Consenti agli emulatori.

Capgo Informazioni sul canale: la scheda mostrante le impostazioni Consenti la costruzione di sviluppo e Consenti agli emulatori
Questi controlli si trovano nella scheda Informazioni sul canale. Disabilita entrambe le impostazioni evidenziate per mantenere le costruzioni di sviluppo e gli emulatori sulle loro risorse web integrate.

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 secondo gli altri impostazioni del canale.

3. Abilita Aggiornamenti Live Solo nelle Costruzioni CI Native

Sezione intitolata “3. Abilita Aggiornamenti Live Solo nelle Costruzioni CI Native”

Per le squadre che desiderano che le costruzioni locali, l'emulatore e i costruzioni del developer siano sicure di default, rendere le 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 nella fase 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 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 la costruzione di sviluppo e Consenti emulatori sul canale quando si testano quei tipi di costruzione.
  3. Costruisci localmente senza CAPGO_LIVE_UPDATES.
  4. Imposta CAPGO_LIVE_UPDATES=true solo prima npx cap sync nel CI nativo di lavoro che dovrebbe ricevere aggiornamenti in tempo reale.