Salta al contenuto principale
Tutorial

Come funzionano le versioni in Capgo

Scopri come Capgo gestisce le versioni nella tua app Capacitor per usarlo al meglio. Impara la differenza tra major, minor e patch.

Come funzionano le versioni in Capgo

Capgo usa 2 variabili principali per gestire le versioni nella tua app Capacitor:

  • Versione native
  • Versioni JavaScript
Sistema di update di Capacitor

Tutte le scelte sulle versioni sono gestite lato server da Capgo.

Sistema di versionamento

Per gestire la versione Capgo usa il sistema SemVer. Leggi la specifica SemVer o controlla la compatibilità degli update di Capgo con il Tester Semver.

Versioni

Dove Capgo trova la versione da confrontare

Puoi sovrascrivere questo comportamento impostando la chiave version in capacitor.config.json file docs qui La versione native verrà ignorata su tutte le piattaforme.

iOS

In iOS, la variabile è impostata qui nel progetto ios/App/App/Info.plist sotto la chiaveCFBundleShortVersionString o ios/App/App.xcodeproj/project.pbxproj sotto la chiave MARKETING_VERSION se MARKETING_VERSION era impostata nel tuo Info.plist file.

Android

In Android, la variabile è impostata qui nel progetto android/app/build.gradle sotto la chiave defaultConfig.versionName

JavaScript ( versione bundle Capgo )

In JavaScript, la variabile può essere impostata nel tuo package.json sotto la chiave version Altrimenti, devi specificarla nel comando di upload.

Comportamento predefinito

Ecco come si comporterà il canale Capgo se non hai modificato le impostazioni.

Questo comportamento si baserà sul canale unico che hai impostato come predefinito.

Durante una nuova installazione della tua app Capacitor

Quando l'utente scarica la tua app Ionic per la prima volta e la apre, contatta il server Capgo.

Attualmente, possono verificarsi 4 output:

  • La versione del bundle nativo (1.2.3) è inferiore alla versione del bundle Capgo (1.2.4), Capgo invia il suo bundle all'utente.
  • La versione del bundle nativo (1.2.3) è uguale alla versione del bundle Capgo (1.2.3), Capgo risponde "nessun aggiornamento necessario".
  • La versione del bundle nativo (1.2.4) è superiore alla versione del bundle Capgo (1.2.3), Capgo risponde "nessun aggiornamento necessario".
  • La versione del bundle nativo (1.2.3) è MAJORmente inferiore alla versione del bundle Capgo (2.2.3), Capgo invia “no need to update”.

Altre impostazioni

Disabilita auto-downgrade sotto il nativo

Se imposti questa opzione su false, Capgo considererà sempre la versione nativa come la fonte attendibile. Il comportamento sarà quindi:

  • La versione nativa (1.2.4) è superiore alla versione Capgo (1.2.3)

Capgo invia la propria versione all'utente.

Disabilita la strategia di auto-upgrade

Puoi scegliere tra diverse strategie. Puoi approfondire qui qui

Versione del bundle JavaScript

La versione del bundle JavaScript è quella che invii quando esegui npx @capgo/cli@latest bundle upload --channel production

Se non hai usato l'opzione --bundle 1.2.3, Capgo recupererà la versione del bundle dal tuo package.json file (nella chiave version).

Dopo che la tua app Ionic ha installato una versione da Capgo, è questa la versione che verrà confrontata per:

  • La versione del loro bundle JavaScript (1.2.3) è inferiore alla versione del bundle di Capgo (1.2.4), Capgo invia il proprio bundle all'utente.

Con alcune condizioni di controllo:

  • Se la versione del bundle nativo è superiore alla versione di Capgo, la Disable auto downgrade under native condizione viene applicata.
  • Se la versione del bundle Native Build è MAJORmente inferiore alla versione Capgo, il Disable auto upgrade above major condizione viene applicata.

aggiornamento dell'App Store

Quando pubblichi la tua app JS con Capacitor sull'App Store, quello che succede è semplice.

L'utente riceverà la nuova versione dallo store e, per impostazione predefinita, rimuoverà tutti gli update locali nell'app.

Se desideri modificare questo comportamento, devi impostare la relativa configurazione resetWhenUpdate scopri di più qui

Questa modifica può essere fatta solo lato app, non dal cloud come altre impostazioni.

Altre impostazioni

Oltre a questo comportamento, puoi definire delle regole specifiche legate al deviceID.

In Capgo, puoi decidere di sovrascrivere il comportamento per ogni deviceID.

Puoi collegare un deviceID a:

  • una specifica versione del bundle
  • un canale specifico

Questo bypasserà tutte le impostazioni definite sopra.

Scopri di più nell'articolo qui sotto.

Continua da Come funzionano le versioni in Capgo

Se stai usando Come funzionano le versioni in Capgo per pianificare il lavoro sui plugin nativi, collegalo a Directory dei plugin di Capgo per il workflow del prodotto nella Capgo Plugin Directory, Plugin Capacitor di Capgo per i dettagli di implementazione in Capacitor Plugins di Capgo, Aggiunta o aggiornamento dei plugin per i dettagli sull'implementazione in Adding or Updating Plugins, Alternative ai plugin Ionic Enterprise per il workflow del prodotto in Ionic Enterprise Plugin Alternatives, e Capgo Native Build per il workflow di prodotto in Capgo Native Builds.

Live updates per le app Capacitor

Quando un bug nel web-layer è live, rilascia la fix tramite Capgo invece di aspettare giorni l'approvazione degli store. Gli utenti ricevono l'update in background, mentre le modifiche native restano nel normale processo di review.

Ultimi articoli dal blog

Capgo ti offre gli insight migliori che ti servono per creare un'app mobile davvero professionale.