Capgo utilizza 2 variabili principali per gestire le versioni nel tuo Capacitor app:
- Versione nativa
- Versioni JavaScript
Tutte le scelte delle versioni sono decise server-side da Capgo.
Sistema di versioning
Per gestire la versione Capgo utilizza il sistema SemVer. Leggi la Specifiche di SemVer o controlla la Capgo compatibilità di aggiornamento con il Tester Semver.
Versioni
Dove Capgo trova la versione da confrontare
Puoi sovrascrivere questo comportamento impostando la chiave version in
capacitor.config.jsonfile qui nei documenti La versione nativa verrà ignorata per tutte le piattaforme.
IOS
In IOS la variabile viene impostata nel tuo progetto qui ios/App/App/Info.plist sotto la chiaveCFBundleShortVersionString o ios/App/App.xcodeproj/project.pbxproj sotto la chiave MARKETING_VERSION se MARKETING_VERSION era stata impostata nel tuo Info.plist file.
Android
In Android, the var is set on your project here android/app/build.gradle sotto la chiave defaultConfig.versionName
JavaScript ( Capgo versione del pacchetto )
In JavaScript, the var can be set in your package.json sotto la chiave version
Altrimenti, è necessario fornirlo nel comando di caricamento.
Comportamento predefinito
Questo è il comportamento che Capgo canale avrà se non hai modificato alcuna impostazione.
Questo comportamento sarà basato sul canale unico che hai impostato come predefinito.
All'installazione fresca della tua Capacitor app
Quando l'utente scarica la tua app Ionic per la prima volta e apre l'app, essa contatta il server Capgo.
Attualmente, possono accadere 4 output:
- La versione del pacchetto nativo (1.2.3) è inferiore alla versione del pacchetto Capgo (1.2.4), Capgo invia il pacchetto all'utente.
- La versione del pacchetto nativo (1.2.3) è uguale alla versione del pacchetto Capgo (1.2.3), Capgo invia “non è necessario aggiornare”.
- La versione del pacchetto nativo (1.2.4) è superiore alla versione del pacchetto Capgo (1.2.3), Capgo invia “non è necessario aggiornare”.
- La versione del pacchetto nativo (1.2.3) è di un livello maggiore inferiore rispetto alla versione del pacchetto Capgo (2.2.3), Capgo invia “non è necessario aggiornare”.
Altre impostazioni
Disabilita l'auto-abbassamento sotto nativo
Se modifichi questa impostazione su false, Capgo considererà sempre la fonte più affidabile della versione. Quindi il comportamento diventa:
- La versione nativa (1.2.4) è superiore alla versione Capgo (1.2.3)
Capgo invia la sua versione all'utente.
Disabilita la strategia di aggiornamento automatico
Ci sono una coppia di strategie che puoi scegliere. Puoi imparare di più su di esse qui
Versione del bundle JavaScript
La versione del bundle JavaScript è quella che invii quando si esegue npx @capgo/cli@latest bundle upload --channel production
Se non hai utilizzato l'opzione --bundle 1.2.3, Capgo otterrà la versione del bundle dal tuo package.json file (nella chiave versione).
Dopo che la tua app Ionic ha installato una versione da Capgo, questa è la versione che verrà confrontata per:
- La loro versione del bundle JavaScript (1.2.3) è inferiore alla versione del bundle Capgo (1.2.4), Capgo invia il suo bundle all'utente.
Con alcune condizioni di guardia:
- Se la versione del bundle nativo è superiore a Capgo versione, l'
Disable auto downgrade under nativeSe la versione del bundle nativo è di un ordine maggiore inferiore a __CAPGO_KEEP_0__ versione, l' - If native bundle version is MAJOR lower than Capgo version, the
Disable auto upgrade above majorLa condizione viene applicata.
Aggiornamento dell'app store
Quando pubblichi il tuo Capacitor app JS su App Store, ciò che accade è semplice.
Il tuo utente riceverà la nuova versione dallo store e rimuoverà tutte le aggiornamenti locali nell'app di default.
Se desideri cambiare quel comportamento, devi impostare la impostazione resetWhenUpdate ne sai di più qui
Ciò può essere modificato solo sul lato dell'app, non dal cloud come altre impostazioni.
Altre impostazioni
Dopo tutto questo comportamento, puoi avere sopra alcuni specifici come ad esempio legati al deviceID.
In Capgo, puoi decidere di sovrascrivere il comportamento per ogni deviceID.
Puoi collegare un deviceID a:
- una versione del pacchetto specifica
- un canale specifico
Questo supererà tutte le impostazioni fatte sopra.
Scopri di più in questo articolo.
Continua da come funziona la versione in Capgo
Se stai utilizzando Come funziona la versione in Capgo per pianificare il lavoro dei plugin nativi, connettilo con Capgo Directory dei plugin per il flusso di lavoro del prodotto in Capgo Directory dei plugin, Capacitor Plugin da Capgo per i dettagli di implementazione in Capacitor Plugin da Capgo Aggiunta o Aggiornamento Plugin per i dettagli di implementazione in Aggiunta o Aggiornamento Plugin, Alternative Plugin per Enterprise Ionic per il flusso di lavoro del prodotto in Alternative Plugin per Enterprise Ionic, e Capgo Costruzione Nativa per il flusso di lavoro del prodotto in Capgo Costruzione Nativa.