11. Copia opzioni pagina
Copia una riga di impostazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Questa documentazione spiega come gestire i cambiamenti di versione nell'applicazione utilizzando canali versionati. Questa approccio consente di mantenere diverse versioni dell'applicazione, garantendo che gli utenti ricevano aggiornamenti compatibili.
Scenario di esempio
Esempio di scenarioDiciamo di avere:
- L'App versione 1.2.3 (versione vecchia) - utilizza il canale di produzione
- L'App versione 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
Esempio di scenario: Utilizza sempre defaultChannel per le versioni maggioriApproccio consigliato: Definisci un defaultChannel per ogni versione maggiore. Ciò assicura di poter sempre inviare aggiornamenti a specifiche fasce di utenti senza dover contare sulla destinazione dinamica del canale.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'2. Aggiorna il tuo progetto con il nuovo canale
Sezione intitolata “1. Crea canale per nuova versione”# Create channel for version 2.xnpx @capgo/cli channel create v22. Aggiorna Capacitor Config per Versione 2.0.0
Sezione intitolata “2. Aggiorna Capacitor Config per 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. Gestire rami separati Code
Sottosezione intitolata “3. Gestire 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 mainImportante: Non spingere mai i pacchetti JavaScript verso le vecchie app che aspettano API native code che non hanno. Costruisci sempre gli aggiornamenti dal ramo appropriato:
- ramo di manutenzione v1: Per gli aggiornamenti alle app 1.x (canale di produzione)
- ramo principale: Per aggiornamenti per le app 2.x (canale v2)
4. Carica i bundle nei canali rispettivi
Sezione intitolata “4. Carica i bundle 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 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. Distribuisci sull'App Store
Sezione intitolata “6. Distribuisci sull'App Store”Costruisci e distribuisci la versione 2.0.0 nella store dell'app. Tutti gli utenti che scaricano questa versione (siano nuovi utenti o utenti esistenti che stanno aggiornando) utilizzeranno automaticamente il canale v2 perché è configurato nel bundle dell'app.
Scaling to Future Versions
Sottosezione intitolata “Scaling to Future Versions”Quando rilasci la versione 3.0.0 con ulteriori modifiche di rottura:
# 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 } }};Now puoi inviare aggiornamenti a qualsiasi versione:
productioncanale → Utenti di Versione 1.xv2canale → Utenti di Versione 2.xv3canale → Utenti di 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):
- Elimina
defaultChanneldal tuo Capacitor config - Cancella il canale v2:
npx @capgo/cli channel delete v2- Eliminare la branch 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 alla branch v1-maintenance:
git checkout v1-maintenance- Fai le tue modifiche e commit:
# 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 Breaking Changes
Sottosezione intitolata “Continua da Breaking Changes”Se stai utilizzando Cambiamenti di rotta per pianificare la routing dei canali e la distribuzione in fasi, connettilo con Canali contexto: nome del feature di canali di rilascio di Capgo. Pagina/area: pagina di marketing delle soluzioni di Capgo. Ruolo: breve etichetta UI o elemento di navigazione. Visto in: pagina solutions/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). per i dettagli di implementazione in Canali, Canali contexto: nome del feature di canali di rilascio di Capgo. Pagina/area: pagina di marketing delle soluzioni di Capgo. Ruolo: breve etichetta UI o elemento di navigazione. Visto in: pagina solutions/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). per i dettagli di implementazione in Canali, e Soluzione di Test Beta per il flusso di lavoro del prodotto nella Soluzione di Test Beta, e Soluzione di Targetizzazione della Versione per il flusso di lavoro del prodotto nella Soluzione di Targetizzazione della Versione.