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 un dispositivo controlla un aggiornamento, Capgo decide quale canale utilizzare in questo ordine rigoroso (priorità più alta per prima):
- Mapping dispositivo forzato (Dashboard) – Pianificare un ID dispositivo specifico su un canale. Utilizzare per debug urgenti o test controllati con un singolo utente reale.
- Override Cloud (per dispositivo) via Dashboard o API – Creato quando cambiate il canale del dispositivo nel dashboard o via API. Utilizzare per gli utenti QA che passano tra i canali di feature / PR o per riprodurre un problema di utente. La reinstallazione del binario non cancella questo; eliminare l'entry del dispositivo.
- Plugin
setChannel()canale locale – Creato quando l'app chiamasetChannel()e il backend verifica che il canale di destinazione consente l'assegnazione auto. Il canale selezionato viene memorizzato localmente su quel dispositivo, ha effetto immediatamente e non viene visualizzato nell'interfaccia di sovrascrittura del dispositivo.
- Capacitor config
defaultChannele non esiste un canale di forza/override/locale, l'app inizia su questo canale (ad es. ecapacitor.config.*__CAPGO_KEEP_0__beta,qa,pr-123Inteso per TestFlight / costruzioni interne affinché i tester siano diretti automaticamente su un canale di anteprima. - Canale predefinito Cloud (percorso principale ~99% degli utenti) – Se segnala un canale predefinito nella dashboard, tutti gli utenti normali (nessun forzamento, nessuna sovrapposizione Dashboard/API, nessun plugin canale locale, nessuna configurazione defaultChannel) si attaccano qui. Cambialo per distribuire o ritirare immediatamente—nessun nuovo binario. Se hai impostazioni specifiche per piattaforma (ad esempio, uno iOS solo, uno Android solo, uno Electron solo), ogni dispositivo si attacca al default che corrisponde alla sua piattaforma. Lasciare il canale cloud predefinito non impostato è consentito; in quel caso il dispositivo deve corrispondere ai passaggi 1-4 per ricevere aggiornamenti.
Pratica consigliata:
- Tratta 1-4 come eccezioni / layer di testing; quando imposti un canale cloud predefinito, gli utenti reali dovrebbero flusso in esso. Se non scegli di impostarlo, essere deliberato su come gli utenti si attaccano (tipicamente via
defaultChannelConfigura - solo nei binari che spedisci esplicitamente ai tester. Lasciarlo non impostato mantiene la logica di produzione centralizzata nella dashboard.
defaultChannelUsa - con parsimonia in produzione—principalmente per QA o diagnostica mirata.
setChannel()Se un canale è disabilitato per la piattaforma (iOS/Android/Electron toggle) quando altrimenti sarebbe stato scelto, il processo di selezione lo ignora e continua nella lista.
Riassunto: Forza > Sovrapposizione Dashboard/__CAPGO_KEEP_0__ > Plugin
Summary: Force > Dashboard/API Override > Plugin
setChannel()canale locale > ConfigdefaultChannel> Impostazione predefinita di Cloud.
Comportamento del canale predefinito
Sottosezione intitolata “Comportamento del canale predefinito”Impostare un'impostazione predefinita per il cloud è facoltativo, ma serve spesso come percorso di default per i nuovi dispositivi. Senza una impostazione predefinita, solo i dispositivi che corrispondono alle mappature forzate, agli override o a defaultChannel nel Capacitor config riceveranno aggiornamenti. Quando scegli di segnalare impostazioni predefinite, tieni presente:
- Impostazione predefinita singola (più comune) – Se un canale ha abilitato iOS, Android e Electron, diventa l'impostazione predefinita unica; qualsiasi dispositivo senza override si attaccherà qui.
- Impostazioni predefinite specifiche per piattaforma – Se si suddivide i canali per piattaforma (ad esempio,
ios-productioncon abilitato solo iOS,android-productioncon abilitato solo Android, eelectron-productioncon solo Electron abilitato, segnala ciascuno come predefinito per la sua piattaforma. Gli dispositivi iOS vanno al default iOS, gli Android vanno al default Android e le applicazioni Electron vanno al default Electron.
Ricorda che il cloud predefinito e defaultChannel in capacitor.config.* entrambi occupano lo stesso livello di decisione. Se imposti un cloud predefinito, non hai bisogno di duplicare il valore nella tua Capacitor configurazione— lascia defaultChannel vuoto per le costruzioni di produzione. Riserva defaultChannel per i binari che intendi spedire ai tester o QA quando desideri che inizino su un canale non di produzione anche se il cloud predefinito è diverso.
Puoi modificare i predefiniti in qualsiasi momento nel pannello di controllo. Quando scambi un predefinito, i nuovi dispositivi rispettano le nuove impostazioni di routing immediatamente e i dispositivi esistenti seguono le regole di precedenza normali la prossima volta che si connettono.
Configurazione di un Canale
Sottosezione intitolata “Configurazione 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 pannello di controllo Capgo
- Clicca sul pulsante “Nuovo Canale”
- Inserta un nome per il canale e clicca su "Crea"
Il nome del canale può essere qualsiasi cosa tu voglia. Una strategia comune è di corrispondere i canali alle tue fasi di sviluppo, ad esempio:
Development- per le aggiornamenti live sulle dispositivi locali o sugli emulatoriQA- per il tuo team di QA per verificare gli aggiornamenti prima della loro pubblicazione più ampiaStaging- per il testing 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
Sottosezione intitolata "Configurazione del Canale nell'App"Dopo aver creato i canali, devi configurare l'app per ascoltare il canale appropriato. In questo esempio, useremo il Development canale.
Apre il tuo capacitor.config.ts (o capacitor.config.jsonAttenzione, file. Sotto plugins sezione, opzionalmente impostare defaultChannel per le costruzioni di test (interno / QA). Per le costruzioni di produzione, preferire l'omissione affinché i dispositivi utilizzino il Cloud Default a meno che non sia stato 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 salti questo passaggio di sincronizzazione, i tuoi progetti nativi continueranno ad utilizzare il canale di cui erano precedentemente configurati.
Opzioni e strategie dei canali
Sottosezione intitolata “Opzioni e strategie dei canali”Il canale ha diverse opzioni che controllano chi può ricevere aggiornamenti e come gli aggiornamenti sono consegnati. Le più importanti sono quelle elencate di seguito. È possibile configurarle dall'app web, dal CLI, o dal Public API.
- Canale predefinito: Opzionalmente segnala i canali o le configurazioni specifiche per piattaforma ai nuovi dispositivi che si connettono. Consulta la sezione “Comportamento del canale predefinito” per gli scenari di routing.
- Filtro per piattaforma: Attiva o disattiva la consegna a
iOS,AndroidoElectrondispositivi 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 canale (ad esempio, dispositivo su 1.2.3 mentre il canale ha 1.2.2).
- Consenti gli aggiornamenti dei build di sviluppo: Consentire gli aggiornamenti ai build di sviluppo (utile per le prove).
- Consenti ai dispositivi emulator: Consentire gli aggiornamenti ai dispositivi emulator/simulator (utile per le prove).
- Consenti l'assegnazione di dispositivo auto: Consente all'app di passare a questo canale in esecuzione utilizzando __CAPGO_KEEP_0__.
setChannelSe disabilitato, __CAPGO_KEEP_1__ fallirà per questo canale.setChannelDisabilita le strategie di aggiornamento automatico
Sezione intitolata “Disabilita le strategie di aggiornamento automatico”
Utilizza questo per limitare quali tipi di aggiornamenti il canale consegnerà automaticamente. Opzioni:maggiore: Blocca una versione di destinazione di bundle la cui versione maggiore è superiore alla baseline nativa del dispositivo (
- Ad esempio:
version_buildè bloccato;1.2.3 -> 2.0.0Disabilita le strategie di aggiornamento automatico1.2.3 -> 1.9.0è consentito. - minore: Blocca un bundle di destinazione la cui versione maggiore o minore differisce da
version_build. Esempio:1.2.3 -> 1.3.0è bloccato;1.2.3 -> 1.2.4è consentito. - patch: Modalità più rigorosa. Blocca qualsiasi cambiamento al numero di versione maggiore, minore o di patch. Sono consentiti solo cambiamenti di suffisso mentre
MAJOR.MINOR.PATCHrimane identico. Esempi:1.0.0-beta.1 -> 1.0.0-beta.2è consentito,1.0.0+build.1 -> 1.0.0+build.2è consentito,1.0.0 -> 1.0.1è bloccato. - metadati: Richiede una versione di aggiornamento minima dei metadati su ogni bundle. Configura tramite CLI utilizzando
--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: Consentire tutti gli aggiornamenti in base alla compatibilità di semver Queste strategie confrontano il pacchetto di destinazione del canale con il baseline nativo inviato come.
, non il pacchetto scaricato correntemente inviato come version_buildScopri i dettagli e gli esempi in Disabilita gli aggiornamenti strategia a /docs/__CAPGO_KEEP_0__/commands/#disable-updates-strategy. version_name.
Esempio (cli):
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-assignSezione intitolata “Utilizzando setChannel() dal tuo App”
IlThe setChannel() Il metodo consente all'app di cambiare dinamicamente canale in esecuzione. Questo è particolarmente utile per:
- Menu di debug/QA dove gli tester possono cambiare tra canali
- Flussi di registrazione al 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});Sottosezione 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_KEEP_0__ __CAPGO_KEEP_1__:To deploy a live update, you need to upload a new JS bundle build and assign it to a channel. You can do this in one step with the Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=Developmentcanale. Gli app configurati per ascoltare quel canale riceveranno l'aggiornamento la prossima volta che controllano per uno. Development È anche possibile assegnare i build ai canali dalla sezione “Bundles” del __CAPGO_KEEP_0__ dashboard. Clicca sull'icona del menu accanto a un build e seleziona “Assegna a Canale” per scegliere il canale per quel build.
You can also assign builds to channels from the “Bundles” section of the Capgo dashboard. Click the menu icon next to a build and select “Assign to Channel” to choose the channel for that build.
Eseguire la versioning dei bundle e dei canali
Sottosezione intitolata “Eseguire la versioning dei bundle e dei canali”E' importante notare che i bundle in Capgo sono globali per la tua app, non specifici per singoli canali. Lo stesso bundle può essere assegnato a più canali.
Quando versioni i tuoi bundle, consigliamo di utilizzare la versioning semantico con Capgo’s Tester Semver e identificatori di pre-uscita per le costruzioni specifiche dei canali. Ad esempio, una versione beta potrebbe essere versionata come 1.2.3-beta.1.
Questa approccio ha diversi vantaggi:
- Evidenzia chiaramente la relazione tra le costruzioni.
1.2.3-beta.1E' ovvio che è una pre-uscita di1.2.3. - Consente di riutilizzare i numeri di versione all'interno dei canali, riducendo la confusione.
- Abilita percorsi di rollback chiari. Se hai bisogno di tornare indietro da
1.2.3, sai a cosa ti riferisci1.2.2è la versione stabile precedente.
Ecco un esempio di come potresti allineare le versioni del tuo bundle con un setup di canale tipico:
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.
Utilizzando 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 al tuo processo di sviluppo del team.
Ritornare indietro in un Aggiornamento in Tempo Reale
Se si dispiega un aggiornamento in tempo reale che introduce un bug o che deve essere annullato, si può facilmente tornare indietro a una versione precedente. Dalla sezione “Canali” della dashboard:Clicca sul nome del canale che vuoi tornare indietro
- Trova la build che vuoi annullare e clicca sull'icona della corona
- Ritorna la build

- La build selezionata diventerà immediatamente la build attiva per quel canale. Gli app riceveranno la versione ritornata la prossima volta che controllano per un aggiornamento.
Automatizzare le Distribuzioni
Sezione intitolata “Automatizzare le Distribuzioni”
Per flussi di lavoro più avanzati, puoi automatizzare le tue distribuzioni di aggiornamento in tempo reale come parte del tuo pipeline CI/CD. Integrando __CAPGO_KEEP_0__ nel tuo processo di build, puoi caricare automaticamente nuovi bundle e assegnarli ai canali ogni volta che puochi push su certe branch o creare nuove release.Capgo
Ecco il modo di fare. Integrazione CI/CD Consultate le doc per imparare di più su come automatizzare gli aggiornamenti Capgo in tempo reale.
Eseguire il Deploy su un Dispositivo
Sottosezione intitolata “Eseguire il Deploy su un Dispositivo”Ora che hai capito i canali, sei pronto a iniziare a eseguire gli aggiornamenti in tempo reale su dispositivi reali. Il processo base è:
- Installa il Capgo SDK nel tuo'app
- Configura l'app per ascoltare il canale desiderato
- Carica una build e assegna il canale a quella
- Lancia l'app e aspetta l'aggiornamento!
Per un walkthrough dettagliato, consulta la sezione Eseguire Aggiornamenti in Tempo Reale 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:
- Bandiere di feature per diversi livelli di utenti
- Test A/B
- Eseguire il rilascio di feature graduali
- 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 bandiere di feature e i test A/B.
Continua da qui: canali
Sezione intitolata “Continua da qui: canali”Se stai utilizzando Canali per pianificare la routing dei canali e la distribuzione in fase di staging, connettilo con Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Soluzione di testing beta per il workflow del prodotto in Soluzione di testing beta, Soluzione di targeting versione per il workflow del prodotto in Soluzione di targeting versione, e Capgo Pratiche di ambiente ottimali: Staging con un ID di app mobile unico per il contesto pratico in Capgo Pratiche di ambiente di miglioramento: Stagione con un ID di App Mobile unico.