Canali
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Un canale di aggiornamento in tempo reale punta a una specifica versione costruita del pacchetto JS del tuo app che verrà condivisa con qualsiasi dispositivo configurato per ascoltare quel canale per gli aggiornamenti. Quando installi il Capgo Aggiornamenti in tempo reale SDK nel tuo app, qualsiasi binario nativo configurato per quel canale controlla per gli aggiornamenti disponibili ogni volta che l'app viene avviata. Puoi modificare la versione a cui punta il canale in qualsiasi momento e puoi anche tornare a versioni precedenti se necessario.
Come un dispositivo sceglie un canale (precedenza)
Sottosezione intitolata “Come un dispositivo sceglie un canale (precedenza)”When a device checks for an update, Capgo decide quale canale utilizzare in questo ordine rigoroso (priorità più alta per prima):
- Mapping dispositivo obbligatorio (Dashboard) – Pianifica manualmente un ID dispositivo specifico su un canale. Utilizza per debug urgenti o test controllati con un singolo utente reale. Questo sempre vince.
- Override Cloud (per dispositivo) via Dashboard o API – Creato quando cambia il canale del dispositivo nel dashboard o via API. Utilizza per gli utenti QA che passano tra i canali di feature / PR o per riprodurre un problema di utente. Ristallando il binario non si cancella; eliminando l'ingresso dispositivo si cancella.
- Capacitor configurazione
defaultChannel(costruzione di test predefinita) – Se presente incapacitor.config.*e non esiste una forza/override, l'app inizia su questo canale (ad esempio, ""). Inteso per le costruzioni di TestFlight / interne affinché i tester atterrino automaticamente su un canale pre‑rilascio.beta,qa,pr-123Canale predefinito Cloud (percorso principale ~99% degli utenti) - – Se segni un canale predefinito nel pannello di controllo, tutti gli utenti normali (nessuna forza, nessuna override, nessuna configurazione predefinitoChannel) si collegano qui. Cambialo per distribuire o ritirare immediatamente – nessun nuovo binario. Se hai impostazioni predefinite specifiche per piattaforma (ad esempio, uno iOS-only, uno Android-only, uno Electron-only), ogni dispositivo atterra sul predefinito che corrisponde alla sua piattaforma. Lasciare il canale predefinito cloud non impostato è consentito; in quel caso il dispositivo deve corrispondere ai passaggi 1–3 per ricevere aggiornamenti. Pratica consigliata:
Tratta 1–3 come layer di eccezione / di testing; quando imposti un canale predefinito cloud, gli utenti reali dovrebbero flusso in esso. Se non scegli di impostarlo, sii deliberato su come gli utenti si collegano (tipicamente via
- in configurazione o per dispositivo override).
defaultChannelConfigura solo - in binari che spedisci esplicitamente ai tester. Lasciarlo non impostato mantiene la logica di produzione centralizzata nel pannello di controllo.
defaultChannel– If present in - Usa con parsimonia in produzione—principalmente per le prove di qualità o i diagnostici mirati.
setChannel()Se un canale è disabilitato per la piattaforma (iOS/Android/Electron toggles) quando altrimenti sarebbe stato scelto, il processo di selezione lo ignora e continua nella lista.
Riassunto: Forza > Override > Config
> Impostazione predefinita Cloud.
defaultChannelComportamento predefinito del canale
Sottosezione intitolata “Comportamento predefinito del canale”
Impostare un'impostazione predefinita cloud è facoltativo, ma di solito serve come percorso di riserva per i nuovi dispositivi. Senza una, solo i dispositivi che corrispondono alle mappature forzate, agli override o a unaconfigurazione del __CAPGO_KEEP_0__ riceveranno aggiornamenti. Quando scegli di segnare i valori predefiniti, tieni presente: defaultChannel in the Capacitor config will receive updates. When you do choose to mark defaults, keep these patterns in mind:
- – Se un canale ha iOS, Android e Electron abilitati, diventa l'impostazione predefinita unica; qualsiasi dispositivo senza override si attaccherà qui. Impostazioni predefinita specifiche per piattaforma
- Use sparingly in production—mainly for QA or targeted diagnostics. – Se si suddividono i canali per piattaforma (ad esempio,
ios-productioncon solo iOS abilitato,android-productioncon solo Android abilitato, eelectron-productioncon solo Electron abilitato), segnalare ogni uno come predefinito per la sua piattaforma. I dispositivi iOS vanno al default iOS, i dispositivi Android vanno al default Android, e le applicazioni Electron vanno al default Electron.
Ricordate che il default cloud e defaultChannel in capacitor.config.* entrambi occupano lo stesso livello di decisione. Se si imposta un default cloud, non è necessario duplicare il valore nella configurazione Capacitor — lasciare defaultChannel vuoto per le costruzioni di produzione. Riservare defaultChannel per i binari che si intendono spedire ai tester o QA quando si desidera che inizino su un canale non di produzione anche se il default cloud è diverso.
È possibile modificare i default in qualsiasi momento nel dashboard. Quando si scambia un default, i nuovi dispositivi rispettano le nuove impostazioni di routing immediatamente e i dispositivi esistenti seguono le normali regole di precedenza la prossima volta che si verificano.
Impostazione di un Canale
Sezione intitolata “Impostazione di un Canale”Durante l'onboarding crei il primo canale (la maggior parte delle squadre lo chiama “Produzione”), ma nulla è bloccato—puoi rinominare o cancellare qualsiasi canale in qualsiasi momento. Per aggiungere canali aggiuntivi in seguito:
- Vai alla sezione “Canali” del Capgo dashboard
- Clicca sul pulsante “Nuovo Canale”
- Inserisci un nome per il canale e clicca su “Crea”
I nomi dei canali possono essere qualsiasi cosa tu voglia. Una strategia comune è di corrispondere i canali alle tue fasi di sviluppo, ad esempio:
Development- per testare aggiornamenti live su dispositivi locali o emulatoriQA- per il tuo team QA per verificare gli aggiornamenti prima di una maggiore diffusioneStaging- per il test finale in un ambiente di produzione simileProduction- per la versione del tuo app che gli utenti finali ricevono dai negozi di app
Configurazione del Canale nell'App
Sezione intitolata “Configurazione del Canale nell'App”Con i canali creati, hai bisogno di configurare l'app per ascoltare il canale appropriato. In questo esempio, useremo il Development Canale.
Apre il tuo capacitor.config.ts (o capacitor.config.json) file. Sotto la plugins sezione, impostare optionalmente defaultChannel per costruzioni di test (interni / QA). Per le costruzioni di produzione, preferisci omettere questo valore in modo che i dispositivi utilizzino il Cloud Default a meno che non venga esplicitamente sovrascritto.
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { // For a QA/TestFlight build – testers start on the Development channel automatically. defaultChannel: 'Development', // Production builds usually omit this so users attach to the Cloud Default channel. }, },};Successivamente, costruisci il tuo app web e esegui npx cap sync per copiare il file di configurazione aggiornato nei tuoi progetti iOS, Android e Electron. Se omitti questo passaggio di sincronizzazione, i tuoi progetti nativi continueranno ad utilizzare il canale con cui erano precedentemente configurati.
Opzioni e strategie del canale
Sottosezione intitolata “Opzioni e strategie del canale”Il canale ha diverse opzioni che controllano chi può ricevere aggiornamenti e come vengono consegnati gli aggiornamenti. Le più importanti sono quelle elencate di seguito. Potete configurarle dall'app web, dal CLI, o dal Public API.
- Canale predefinito: Opzionalmente segnate i canali o le impostazioni del canale specifiche per i dispositivi nuovi che si connettono. Vedere “Comportamento del canale predefinito” per gli scenari di routing.
- Filtri di piattaforma: Attiva o disattiva la consegna a
iOS,Android, oElectrondispositivi per canale. - Disabilita l'auto downgrade sotto nativo: Impedisce di inviare un aggiornamento quando la versione dell'app nativa del dispositivo è più recente della versione del pacchetto del canale (ad esempio, dispositivo su 1.2.3 mentre il canale ha 1.2.2).
- Consenti aggiornamenti di build di sviluppo: Consentire aggiornamenti ai build di sviluppo (utile per la prova).
- Consenti dispositivi emulator: Consentire aggiornamenti ai dispositivi emulator/simulator (utile per la prova).
- Consenti l'assegnazione di dispositivo auto: Lascia che l'app passi a questo canale in esecuzione utilizzando
setChannel. Se disabilitato,setChannelfallirà per questo canale.
Disabilita strategie di aggiornamento automatico
Sezione intitolata “Disabilita strategie di aggiornamento automatico”Usa questo per limitare quali tipi di aggiornamenti il canale consegnerà automaticamente. Opzioni:
- major: Blocca gli aggiornamenti intermajor (0.0.0 → 1.0.0). Gli aggiornamenti minori e di patch sono ancora consentiti.
- minor: Blocca gli aggiornamenti interminor (ad esempio, 1.1.0 → 1.2.0) e gli aggiornamenti maggiori. Gli aggiornamenti di patch sono ancora consentiti. Nota: non blocca 0.1.0 → 1.1.0.
- patch: Estremamente rigoroso. Consente solo l'aumento delle versioni di patch all'interno della stessa versione maggiore e minore. Esempi: 0.0.311 → 0.0.314 ✅, 0.1.312 → 0.0.314 ❌, 1.0.312 → 0.0.314 ❌.
- metadata: Richiede una versione minima di aggiornamento di metadati su ogni bundle. Configura tramite CLI usando
--min-update-versiono--auto-min-update-version. Se mancante, il canale viene segnalato come configurato in modo errato e gli aggiornamenti saranno rifiutati fino a quando non viene impostato. - none: Consenti tutti gli aggiornamenti in base alla compatibilità di semver. Scopri di più dettagli e esempi nella strategia di disabilitazione degli aggiornamenti alla sezione /docs/__CAPGO_KEEP_0__/commands/#disable-updates-strategy. Esempio (__CAPGO_KEEP_0__):.
Learn more details and examples in Disable updates strategy at /docs/cli/commands/#disable-updates-strategy.
Example (CLI):
# Block major updates on the Production channelnpx @capgo/cli@latest channel set production com.example.app \ --disable-auto-update major
# Allow devices to self-assign to the Beta channelnpx @capgo/cli@latest channel set beta com.example.app --self-assignUsando setChannel() dal tuo App
Sezione intitolata “Usando setChannel() dal tuo App”Il setChannel() metodo consente al tuo app di cambiare canale in modo programmatico durante l'esecuzione. Questo è particolarmente utile per:
- Menu di QA/debug dove gli tester possono cambiare tra canali
- Flussi di registrazione per il programma beta
- Implementazioni delle bandiere di feature
- Scenari di testing A/B
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Switch to the beta channelawait CapacitorUpdater.setChannel({ channel: 'beta' });
// Optionally trigger an immediate update check after switchingawait CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true});Assegnare un Bundle a un Canale
Sezione intitolata “Assegnare un Bundle a un Canale”Per distribuire un aggiornamento in tempo reale, è necessario caricare un nuovo build del bundle JS e assegnarlo a un canale. Ciò può essere fatto in un solo passo con il Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=DevelopmentCiò caricherà i tuoi asset web costruiti e stabilirà il nuovo bundle come build attiva per il Development canale. Qualsiasi app configurata per ascoltare quel canale riceverà l'aggiornamento la prossima volta che controlla per uno.
Puoi anche assegnare i build ai canali dalla sezione “Bundles” del Capgo dashboard. Clicca l'icona del menu accanto a un build e seleziona “Assegna a Canale” per scegliere il canale per quel build.
Versionamento dei Bundle e Canali
Sezione intitolata “Versionamento dei Bundle e Canali”È importante notare che i bundle in Capgo sono globali per il tuo app, non specifici per canali individuali. Lo stesso bundle può essere assegnato a più canali.
When versioni i tuoi pacchetti, raccomandiamo l'uso della versioning semantico con __CAPGO_KEEP_0__’s Semver Tester e identificatori di pre-uscita per costruzioni specifiche del canale. Ad esempio, una versione beta potrebbe essere versionata come semantic versioning with Capgo’s Semver Tester Evidenzia chiaramente la relazione tra le costruzioni. 1.2.3-beta.1.
E' ovvio che è una versione pre-uscita di
- Consente di riutilizzare i numeri di versione all'interno dei canali, riducendo la confusione.
1.2.3-beta.1Consente percorsi di rollback chiari. Se hai bisogno di tornare indietro da1.2.3. - sei a conoscenza che
- è la versione stabile precedente.
1.2.3Ecco un esempio di come potresti allineare le versioni dei tuoi pacchetti con un setup di canale tipico:1.2.2canale:
canale:
Developmentcanale:1.2.3-dev.1,1.2.3-dev.2ecc.QAcanale:1.2.3-qa.1,1.2.3-qa.2ecc.Stagingcanale:1.2.3-rc.1,1.2.3-rc.2ecc.Productioncanale:1.2.3,1.2.4ecc.
Utilizzo utilizzare semver con identificatori di versione pre-release è un approccio raccomandato, ma non strettamente richiesto. La chiave è trovare uno schema di versioning che comunichi chiaramente le relazioni tra le tue build e si allinei con il processo di sviluppo del tuo team.
Ritornare indietro in un aggiornamento in tempo reale
Sezione intitolata “Ritornare indietro in un aggiornamento in tempo reale”If si dispiega un aggiornamento live che introduce un bug o che deve essere annullato, puoi facilmente tornare a una versione precedente. Dalla sezione “Canali” del pannello di controllo:
- Seleziona il nome del canale che desideri annullare
- Trova la versione che desideri annullare e clicca sull'icona della corona

- Conferma l'azione
La versione selezionata diventerà immediatamente la versione attiva per quel canale. Gli app saranno in grado di ricevere la versione annullata la prossima volta che controllano gli aggiornamenti.
Automazione delle distribuzioni
Sottosezione intitolata “Automazione delle distribuzioni”Per flussi di lavoro più avanzati, puoi automatizzare le distribuzioni live aggiornamenti come parte del tuo pipeline CI/CD. Integrando Capgo nel tuo processo di build, puoi caricare automaticamente nuove bundle e assegnarli ai canali ogni volta che puoi spingere su determinate branch o creare nuove release.
Esegui una visita al Integrazione CI/CD i documenti per imparare di più sull'automazione degli aggiornamenti live Capgo.
Distribuisci su un Dispositivo
Sezione intitolata “Distribuisci su un Dispositivo”Ora che hai capito i canali, sei pronto a iniziare a distribuire aggiornamenti live su dispositivi reali. Il processo base è:
- Installa il Capgo SDK nel tuo app
- Configura l'app per ascoltare il tuo canale desiderato
- Carica un build e assegna il canale a quel build
- Lancia l'app e attendi l'aggiornamento!
Per un walkthrough dettagliato, vedi il Distribuisci Aggiornamenti Live guide. Buon aggiornamento!
Utilizzo avanzato dei canali: Segmentazione degli utenti
Sezione intitolata “Utilizzo avanzato dei canali: Segmentazione degli utenti”i canali possono essere utilizzati per più di solo le fasi di sviluppo. Sono uno strumento potente per la segmentazione degli utenti, che consente di attivare funzionalità come:
- flag di feature per diversi livelli di utenti
- test A/B
- rollout di feature graduale
- programmi di test beta
Scopri come implementare questi casi d'uso avanzati nella nostra guida: Come segmentare gli utenti per piano e canali per le flag di feature e i test A/B.
Continua da qui: i canali
Se stai utilizzandoi canali per pianificare la routing dei canali e il rollout graduale, connettilo con Section titled “Continua da qui: i canali” Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Soluzione di Test Beta per il flusso di lavoro del prodotto in Soluzione di Test Beta, Soluzione di Targetizzazione della Versione per il flusso di lavoro del prodotto in Soluzione di Targetizzazione della Versione, e Capgo Pratiche di Miglioramento dell'ambiente: Staging con un ID di App Mobile Unico per il contesto pratico in Capgo Pratiche di Miglioramento dell'ambiente: Staging con un ID di App Mobile Unico.