Modifiche di versione
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Questa documentazione spiega come gestire le modifiche di versione nell'applicazione utilizzando canali versionati. Questo approccio consente di mantenere diverse versioni dell'applicazione, garantendo che gli utenti ricevano aggiornamenti compatibili.
Scenario di esempio
Sezione intitolata “Scenario di esempio”Immaginiamo di avere:
- Versione dell'app 1.2.3 (versione vecchia) - utilizza il canale di produzione
- Versione dell'app 2.0.0 (nuova versione con modifiche di compatibilità) - utilizza il canale v2
- Aggiornamento in tempo reale 1.2.4 (compatibile con 1.2.3)
- Aggiornamento in tempo reale 2.0.1 (compatibile con 2.0.0)
Strategia: Utilizza sempre defaultChannel per le versioni maggiori
Sezione intitolata “Strategia: Utilizza sempre defaultChannel per le versioni maggiori”Approccio consigliato: Imposta un defaultChannel per ogni versione maggiore. Ciò garantisce che possiate sempre inviare aggiornamenti a specifiche fasce di utenti senza dover dipendere dall'assegnazione dinamica del canale.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Crea Canale per Nuova Versione
Sezione intitolata “1. Crea Canale per Nuova Versione”# Create channel for version 2.xnpx @capgo/cli channel create v22. Aggiorna la configurazione Capacitor per la versione 2.0.0
Sezione intitolata “2. Aggiorna la configurazione Capacitor per la versione 2.0.0”Aggiorna la tua configurazione Capacitor prima di costruire la versione 2.0.0 per la store degli 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
Sottosezione intitolata “3. Gestisci rami separati Code”Creare rami separati Git 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 mainImportante: Non inviare mai pacchetti JavaScript alle vecchie app che aspettano API native code che non hanno. Costruisci sempre gli aggiornamenti dal ramo appropriato:
- ramo di manutenzione v1: Per gli aggiornamenti per le app 1.x (canale di produzione)
- ramo principale: Per gli aggiornamenti per le app 2.x (canale v2)
4. Carica Pacchetti nei Canali Rispettivi
Sezione intitolata “4. Carica Pacchetti nei Canali Rispettivi”# 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 Auto-Assegnazione
Sezione intitolata “5. Abilita Auto-Assegnazione”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Distribuisci sull'App Store
Sezione intitolata “6. Distribuisci sull'App Store”Costruisci e distribuisci la versione 2.0.0 sull'app store. Tutti gli utenti che scaricano questa versione (siano nuovi utenti o utenti esistenti che aggiornano) utilizzeranno automaticamente il canale v2 perché è configurato nel pacchetto dell'applicazione.
Scaling to Future Versions
Sezione intitolata “Scaling to Future Versions”Quando rilascerete la versione 3.0.0 con più modifiche dirompenti:
# Create channel for version 3.xnpx @capgo/cli channel create 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 → Versione 1.x utentiv2canale → 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 sono stati migrati alla versione 2.x (conteggio 3-4 mesi):
- Rimuovi
defaultChanneldalla tua Capacitor configurazione - Elimina il canale v2:
npx @capgo/cli channel delete v2- Elimina la branca v1-maintenance:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceTestare sempre gli aggiornamenti attentamente in ogni canale prima della distribuzione
Aggiornamento della versione 1.x
Sezione intitolata “Aggiornamento 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 committa:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Costruisci e carica sul canale di produzione:
npx @capgo/cli bundle upload --channel productionContinua da qui: Modifiche breaking
Sezione intitolata “Continua da Breaking Changes”Se stai utilizzando Modifiche di Rilascio per pianificare la routing dei canali e la distribuzione in fasi, connettilo con Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Soluzione di Test Beta per il workflow del prodotto in Soluzione di Test Beta, e Soluzione di Targeting della Versione per il flusso di lavoro del prodotto nella Soluzione di Targeting della Versione.