Cambiamenti di versione
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Questa documentazione spiega come gestire le modifiche di versione nell'applicazione utilizzando i canali versionati. Questa approccio consente di mantenere diverse versioni dell'applicazione, garantendo che gli utenti ricevano aggiornamenti compatibili.
Scenario di esempio
Sottosezione intitolata “Scenario di esempio”Immaginiamo di avere:
- Versione dell'app 1.2.3 (versione vecchia) - utilizza il canale di produzione
- Versione dell'applicazione 2.0.0 (nuova versione con modifiche di versione) - utilizza il canale v2
- Live update 1.2.4 (compatibile con 1.2.3)
- Live update 2.0.1 (compatibile con 2.0.0)
Strategia: Utilizzare sempre defaultChannel per le versioni maggiori
Sezione intitolata “Strategia: Utilizzare sempre defaultChannel per le versioni maggiori”Approccio consigliato: Definisci un defaultChannel per ogni versione maggiore. Ciò garantisce di poter sempre inviare aggiornamenti a specifiche fasce di utenti senza dover contare sulla destinazione dinamica dei canali.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Crea un canale per la nuova versione
Sezione intitolata “1. Crea un canale per la nuova versione”# Create channel for version 2.xnpx @capgo/cli channel add v22. Aggiorna Capacitor Config per la versione 2.0.0
Sezione intitolata “2. Aggiorna Capacitor Config per la versione 2.0.0”Aggiorna il tuo Capacitor config prima di costruire la versione 2.0.0 per la store dell'app:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;3. Gestisci rami separati Code
Sezione intitolata “3. Gestisci rami separati Code”Creare rami Git separati per mantenere la compatibilità tra versioni dell'applicazione:
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainCruciale: Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- ramo v1-maintenance: Per gli aggiornamenti alle app 1.x (canale di produzione)
- ramo principale: Per gli aggiornamenti alle app 2.x (canale v2)
4. Carica i pacchetti nei rispettivi canali
Sezione intitolata “4. Carica i pacchetti nei rispettivi canali”# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. Abilita l'assegnazione automatica
Sezione intitolata “5. Abilita l'assegnazione automatica”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Pubblica su App Store
Sezione intitolata “6. Pubblica su App Store”Esegui la costruzione e la pubblicazione della versione 2.0.0 su App Store. Tutti gli utenti che scaricano questa versione (siano nuovi utenti o utenti esistenti che effettuano un aggiornamento) utilizzeranno automaticamente il canale v2 perché è configurato nel bundle dell'applicazione.
Aggiornamento per Versioni Future
Sezione intitolata “Scaling to Future Versions”Quando rilasciate la versione 3.0.0 con più modifiche di compatibilità:
# Create channel for version 3.xnpx @capgo/cli channel add v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};Ora potete inviare aggiornamenti a qualsiasi versione:
productioncanale → Utenti della versione 1.xv2canale → Utenti della versione 2.xv3canale → Utenti della versione 3.x
7. Pulizia (Dopo la migrazione)
Sezione intitolata “7. Pulizia (Dopo la Migrazione)”Una volta che tutti gli utenti saranno migrati alla versione 2.x (circa 3-4 mesi):
- Elimina
defaultChanneldalla tua Capacitor configurazione - Cancella il canale v2:
npx @capgo/cli channel delete v2- Cancella la branca v1-maintenance:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceTestare sempre gli aggiornamenti attentamente in ogni canale prima della distribuzione
Mantenere Aggiornamenti della Versione 1.x
Sottosezione intitolata “Mantenere Aggiornamenti della Versione 1.x”Per inviare aggiornamenti compatibili con la versione 1.x:
- Passa al ramo v1-maintenance:
git checkout v1-maintenance- Fai le tue modifiche e commita:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Costruisci e carica nel canale di produzione:
npx @capgo/cli bundle upload --channel productionContinua da Breaking Changes
Sezione intitolata “Continua da Breaking Changes”Se stai utilizzando Modifiche breaking per pianificare la routing del canale e la distribuzione in fasi, connettilo con Canali per i dettagli di implementazione nei canali, Canali per i dettagli di implementazione nei canali, Canali per i dettagli di implementazione nei canali, Soluzione di Test Beta per il flusso di lavoro del prodotto nella Soluzione di Test Beta Soluzione di Targeting della Versione Per il workflow del prodotto nella Version Targeting Solution.