Capgo usa 2 variabili principali per gestire le versioni nella tua app Capacitor:
- Versione native
- Versioni JavaScript
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.jsonfile 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 nativecondizione viene applicata. - Se la versione del bundle Native Build è MAJORmente inferiore alla versione Capgo, il
Disable auto upgrade above majorcondizione 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.