Passer à la navigation principale

Tester les builds natifs sans mises à jour en direct

1. Augmentez la version de base native

Sous-titre « 1. Augmentez la version de base native »

Définir

Copiez CapacitorUpdater.version à partir de la version utilisée pour votre version native, et augmentez-la pour chaque build natif. Une nouvelle base native rend le fichier binaire installé distinct des anciens lots et, par défaut resetWhenUpdate: true, supprime les lots téléchargés lorsque l'application native plus récente est installée.

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;

Par exemple, un fichier binaire construit avec version: '1.4.1' a une base native plus élevée qu'un lot existant 1.4.0 bundle. N'utilisez pas une version native réutilisée lorsque vous devez vérifier les actifs emballés.

2. Bloquer les mises à jour de l'émulateur et des builds de développement dans la console

Titre de la section « 2. Bloquer les mises à jour de l'émulateur et des builds de développement dans la console »

Ouvrez votre application dans le Capgo console, allez dans Canauxcontext Nom de la fonctionnalité des canaux de Capgo. Page/zone : page de marketing des solutions Capgo. Rôle : étiquette de navigation ou élément UI court. Vu dans : page solutions/white-label.astro. Clé de message `solutions_white_label_visual_cell2_value` (Valeur de la cellule visuelle White Label Solutions). onglet. Désactivez désactivez tous les deux Permettre la construction de développement et contexte : Site web de marketing Capgo. Rôle : Étiquette de navigation ou élément UI court. Vu dans : page trust.astro. Clé de message `et` (Et)..

Capgo channel Information tab showing the Allow development build and Allow Emulators settings
__CAPGO_KEEP_0__

Attention : l'écran d'aperçu montre où trouver les paramètres ; ses boutons de mise en surbrillance sont activés. Désactivez les deux boutons pour un canal qui ne doit pas livrer d'actualisations en direct aux constructions de développement ou aux émulateurs.

3. Activez les mises à jour en temps réel uniquement dans les builds CI natifs.

Section intitulée “3. Activez les mises à jour en temps réel uniquement dans les builds CI natifs”.

Pour les équipes qui souhaitent que les builds locaux, les émulateurs et les développeurs soient sécurisés par défaut, activez les mises à jour en temps réel par défaut à l'aide d'une variable d'environnement. La configuration ci-dessous désactive les vérifications de mise à jour à moins que CAPGO_LIVE_UPDATES est exactement 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;

Fixez la variable uniquement dans l'étape CI qui synchronise et construit l'application native :

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

Exécuter npx cap sync après avoir fixé la variable car Capacitor copie cette configuration dans les projets natifs pendant la synchronisation. Sans la variable, les builds locaux et les builds d'émulateur conservent autoUpdate: false et ne vérifient pas les mises à jour en temps réel.

  1. Augmenter la version utilisée par CapacitorUpdater.version pour le binaire natif.
  2. Désactiver Permettre la construction de développement et Permettre aux émulateurs sur le canal lors du test de ces types de construction.
  3. Construire localement sans CAPGO_LIVE_UPDATES.
  4. Définir CAPGO_LIVE_UPDATES=true seulement avant npx cap sync dans le job CI natif qui devrait recevoir les mises à jour en direct.