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 le versioni di Capgo usa il sistema SemVer. Leggi la specifica SemVer o controlla la compatibilità degli aggiornamenti di Capgo con il Semver Tester.
Versioni
Dove Capgo trova la versione da confrontare
Puoi sovrascrivere questo comportamento impostando la chiave version nel
capacitor.config.jsonfile docs qui La versione native verrà ignorata per 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 è stata 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 var può essere impostata nel tuo package.json sotto la chiave version
Altrimenti, devi fornirla nel comando di upload.
Comportamento predefinito
Ecco come si comporterà il canale Capgo se non modifichi alcuna impostazione.
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) è molto inferiore alla versione del bundle Capgo (2.2.3), quindi 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à il seguente:
- 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
There are a couple of strategies you can chose from. You can learn more about it 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 versione verrà utilizzata per il confronto:
- La versione del bundle JavaScript (1.2.3) è inferiore alla versione del bundle di Capgo (1.2.4), Capgo invia il 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 nativo è MAJORmente inferiore alla versione di Capgo, l'
Disable auto upgrade above majorcondizione viene applicata.
aggiornamento dell'App Store
Quando pubblichi la tua app JS con Capacitor sull'App Store, ciò che accade è semplice.
L'utente scaricherà la nuova versione dallo store e, per impostazione predefinita, rimuoverà tutti gli update locali dall'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
Dopo tutto questo, è possibile avere sopra di esso dei comportamenti specifici legati 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.