Capgo utilizza 2 variabili principali per gestire le versioni nel tuo Capacitor app:
- Versione nativa
- Versioni JavaScript
Tutte le scelte di versione sono decise server-side da Capgo.
Sistema di versionamento
Per gestire la versione Capgo utilizza il sistema SemVer, leggi di più su questo qui.
Versioni
Dove Capgo trovare la versione da confrontare
Puoi sovrascrivere questo comportamento impostando la chiave version in
capacitor.config.jsonfile qui ci sono i documenti La versione nativa verrà ignorata per tutti i 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, il var è impostato sul tuo progetto qui android/app/build.gradle sotto la chiave defaultConfig.versionName
JavaScript ( Capgo versione del pacchetto )
In JavaScript, il var può essere impostato nel tuo package.json sotto la chiave version
Altrimenti, è necessario fornirlo nel comando di caricamento.
Comportamento predefinito
Questo è il modo in cui il canale Capgo si comporterà se non hai modificato alcun impostazione.
Questo comportamento sarà basato sul canale unico che hai impostato come predefinito.
Installazione fresca della tua app Capacitor
Quando l'utente scarica per la prima volta la tua app Ionic e apre l'app, essa contatta il server Capgo.
Attualmente, 4 output possono accadere:
- La versione del pacchetto nativo (1.2.3) è inferiore alla versione del pacchetto Capgo (1.2.4), Capgo invia il suo 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 ordine maggiore inferiore 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 due strategie che puoi scegliere. Puoi imparare di più su di essa qui
Versione del bundle JavaScript
La versione del bundle JavaScript è quella che invii quando si fa 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 a Capgo versione del bundle (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, la
Disable auto downgrade under nativecondizione è applicata. - If la versione del bundle nativo è inferiore di un fattore a Capgo versione, la
Disable auto upgrade above majorcondizione viene applicata.
Aggiornamento della store dell'app
Quando pubblichi il tuo Capacitor app JS sullo Store dell'App, ciò che accade è semplice.
Il tuo utente otterrà 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 leggi di più su di esso qui
Questo 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 quello legato all'ID dispositivo.
In Capgo, puoi decidere di sovrascrivere il comportamento per ogni ID dispositivo.
Puoi collegare un ID dispositivo a:
- una versione di bundle specifica
- un canale specifico
Ciò supererà tutti i impostazioni fatte sopra.
Scopri di più in questo articolo.