Quando si rilascia una versione maggiore
La gestione delle versioni può essere difficile, di solito si desidera inviare un aggiornamento maggiore quando appare un cambiamento maggiore per gli utenti.
Ma la versioning non è fatta per questo, la versione dell'app store è diversa dalla versione nativa.
La versione nativa è fatta per gestire i cambiamenti che rompono l'applicazione. code
In IOS, ad esempio, iOS 16 è il store version di Apple, ma la versione di code è 20A5283p (non sembrano utilizzare SemVer lì)
Ora è chiaro che non li mescoliamo e li utilizziamo per quello per cui sono stati fatti!
Rilascio maggiore
Nel tuo app Capacitor, è necessario un rilascio maggiore quando avviene un cambiamento dirompente. Ad esempio, un nuovo target IOS (15 a 16), o una nuova versione di Capacitor (3 a 4), o un plugin (1.2 a 2.0) che utilizzi è stato aggiornato a una versione maggiore.
Questo cambiamento significa che tutte le attrezzature devono essere allineate per gestire il cambiamento dirompente.
Per questo motivo Capgo segue questo sistema.
Quindi se rilasci una versione maggiore, Capgo non la invierà a un utente che non l'ha installata dal negozio.
Questo comportamento può essere personalizzato. Puoi imparare di più su questo qui
Versioni
Dove Capgo trovare la versione da confrontare
IOS
Verrà utilizzato da Capgo per confrontare la versione JavaScript e trovare l'aggiornamento maggiore
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 impostata nel tuo Info.plist file.
Puoi sovrascrivere questo comportamento impostando la chiave versione nel
capacitor.config.jsonfile documentazione qui
Android
Verrà utilizzato da Capgo per confrontare la versione JavaScript e trovare l'aggiornamento maggiore
in Android, la variabile viene impostata nel tuo progetto qui android/app/build.gradle sotto la chiave defaultConfig.versionName
Puoi sovrascrivere questo comportamento impostando la chiave versione in
capacitor.config.jsonfile documentazione qui
JavaScript
Verrà utilizzato da Capgo per confrontare la versione nativa e trovare l'aggiornamento maggiore
in JavaScript, la variabile viene impostata nel tuo progetto qui package.json sotto la chiave version
Esempio
Il tuo app Ionic è attualmente rilasciata con la versione 1.2.3 con Capacitor 3
Stai eseguendo l'aggiornamento a capacitor 4.
Hai bisogno di aggiornare il numero di versione a 2.2.3, quindi tutti i tuoi pacchetti includono Capgo con la nota di questo grande cambiamento.
Quando rilasci questa versione su Capgo e la App Store.
Tutti i prossimi aggiornamenti live in Capgo 2.2.4 non saranno mai inviati all'utente con 1.2.3 versione. Solo con 2.2.3 versione.
Se segui questo modello, non hai più nulla di cui preoccuparti, tutto è gestito correttamente.
Se non seguo queste istruzioni
In questo caso, ciò significa che dovrai inviare la tua nuova app con Capacitor 4 su Apple e Google, ma non su Capgo.
Poi dovrai attendere che il 100% dei tuoi utenti, o almeno il 90%, abbia l'applicazione o almeno la 90%, ci vorranno mesi, probabilmente.
Mentre in questo periodo non puoi inviare alcuna aggiornamento con Capgo, poiché gli utenti vecchi non possono ricevere la nuova versione.