Saltare al contenuto

Canali

Quando un dispositivo chiede a Capgo di effettuare un aggiornamento, il canale che verrà utilizzato viene deciso in questo ordine (priorità più alta per prima):

  1. Mapping forzato del dispositivo: Se l'ID del dispositivo è esplicitamente impostato su un canale (il Dispositivi tab on the channel page), that channel always wins. Forced mappings are console/API overrides. Capgo removes them 90 days after the last override write. See Console e le sovrascritture della console API scadono.
  2. Console e API override scadonoCambiare il canale di un dispositivo nel dashboard o tramite il Public API scrive un sovrapposizione legata a quell'ID dispositivo. Ristallando l'applicazione non elimina; la cancellazione dell'override mantiene la stessa durata di conservazione di 90 giorni.
  3. cancella setChannel() PluginCon le versioni attuali dei plugin, setChannel() Ricorda il canale sul dispositivo dopo la validazione del backend. Non è un sovrascrittura del pannello di controllo. La reinstallazione dell'app lo cancella; l'app deve chiamare setChannel() Riprova se desideri ancora quel canale.
  4. Capacitor configurazione defaultChannel __CAPGO_KEEP_0__ configPer le versioni interne / beta / di test puoi impostare defaultChannel (chiave legacy) channel) in capacitor.config.* i dispositivi di prova iniziano su un canale di anteprima (ad esempio beta, pr-123Se assente, il dispositivo procederà al cloud default. Le costruzioni di produzione lasciano spesso questo impostato su default.
  5. Canale Cloud Predefinito (strategia principale per circa il 99% degli utenti): Il canale di produzione principale su cui atterrano quasi tutti gli utenti reali. Qualsiasi nuovo dispositivo senza una forza, senza un sovrapposizione, senza una configurazione locale setChannel()e senza una configurazione defaultChannel utilizza questo. Cambiarlo fa scorrere (o fa scorrere indietro) per tutti in secondi, senza una nuova versione binaria.

Perché il canale cloud predefinito è la strada principale:

  • Rullata istantanea o rollback senza ricostruire o ristampare i binari nativi.
  • Un posto per gestire il comportamento di iOS, Android e Electron.
  • Più sicuro: puoi confermare l'esistenza dei pacchetti e la correttezza delle impostazioni prima di cambiare il default.
  • Modifiche auditabili (i membri del team possono vedere chi ha modificato cosa nella UI / log).\nPrincipio di progettazione: Layer sopra (forza / sovrascrivi / config) sono exceptions (debug single user, QA switching, test build defaults). Normal users flow to the cloud default.

Modificare il Cambiare il canale predefinito influisce dispositivi normali che:

  • dispositivi normali che:
  • Non avere già un sovrascrittura cloud
  • Non hanno già un sovrascrittura del cloud defaultChannel definito

Se un test build viene spedito con defaultChannel: 'beta' e successivamente cambi il default cloud in productioni dispositivi che sono partiti su beta attraverso la configurazione rimane lì fino a quando non viene applicata una assegnazione di priorità più alta, o fino a quando non invii un file binario. defaultChannelEliminare un forza, sovrascrittura cloud o locale setChannel() non elimina il valore della configurazione; quel fallback rimane fino al nuovo binario.

Dispositivi rimangono sul loro canale attuale a meno che tu non:

  • Forzarli su un altro canale (console o Public API).
  • Cambiare la sovrascrittura cloud nel dashboard o Public API.
  • Chiamare setChannel() (assegnazione locale sulle versioni correnti del plugin).
  • Elimina / archivia il canale su cui si trovano (poi ricadranno attraverso la precedenza nuovamente alla prossima verifica).
  • Attendi fino a quando un console/API override scade dopo 90 giorni.
  • Riinstalla l'app, che cancella i dati locali setChannel() assegnazione ma non sovrascrittura del console/API.

If a channel is disabled for a platform (see iOS / Android / Electron toggles) and would otherwise have been selected, the selection skips it and falls back to the next rule.

Nota: Impostazione defaultChannel modifica cambiandolo richiede un nuovo binario; utilizzalo intenzionalmente per test/QA, non per il controllo di produzione generale.

Sezione intitolata “Capacitor config esempio”

Section titled “Capacitor config example”
capacitor.config.ts
// Example: a TestFlight or internal QA build defaults to the beta channel.
const config = {
plugins: {
CapacitorUpdater: {
defaultChannel: 'beta', // Test build default. Omit in production so users attach to cloud default.
// legacy key: channel
},
},
};
export default config;

Se in seguito cambi il dashboard di default productiondispositivi già su un altro canale (tramite configurazione, sovrascrittura o forza) NON si sposteranno automaticamente; solo i dispositivi freschi (o quelli di cui hai cancellato la sovrascrittura/forza) li assumeranno.


Ecco, prendiamo in esame la pagina dei canali. Puoi accedervi cliccando sul tuo app cliccando sull'applicazione e poi Cliccando sul pulsante dei canali.

Creazione di un canale

Sottosezione intitolata “Creazione di un canale”

Section titled “Creating a channel”

C'è un pulsante "+" nella parte inferiore della finestra.1 Cliccando su di esso si aprirà una finestra modale dove potrai creare un nuovo canale.

canale nuovo

Then after you click on Add dovrebbe apparire un nuovo canale nella lista.

dopo la creazione del canale

A volte la configurazione di un canale non è valida. In tal caso, riceverai un grande avviso e il Misconfigured colonna dirà Yes per uno o più dei canali. Puoi imparare di più su questo qui

To eliminare un canale dall'app web, apri il Canaletti trova la riga del canale per la tua app. Action cliccare l'icona della spazzatura, quindi cliccare Cancella nella finestra di conferma

Colonna di azione della riga del canale che mostra l'icona cestino per eliminare

Se l'icona della spazzatura non è visibile, il tuo account non dispone della funzionalità. channel.delete permission for that app. Ask an organization or app admin to grant a role that can delete channels, or delete the channel with an API key that has permission:

colonna d'azione
npx @capgo/cli@latest channel delete <channel-name> <app-id>

Un canale associato all'organizzazione e all'applicazione Anteprima App La chiave può cancellare atomicamente solo il canale di anteprima non pubblico e bundlarlo creato con. channel delete <preview-channel> <app-id> --delete-bundleNon può modificare o cancellare un canale predefinito principale, un canale di anteprima di un'altra chiave o un bundle di un'altra chiave. Vedi Tasti API Gestione di un canale

Clicca il nome del canale per aprire la pagina del canale. È una pagina completa con schede, non un modulo.

Impostazioni del canale
  • Dashboard: Adozione del bundle corrente e statistiche di installazione per questo canale.
  • Informazioni: Impostazioni del canale elencate di seguito, più rilascio progressivo e Test Update API.
  • Dispositivi: Mappaggi forzati creati dal console o Public API solo. Non elenca ogni dispositivo attualmente sul canale, e non elenca dispositivi che hanno utilizzato setChannel()Vedi : Console e API sovrascritture scadono.
  • Storia: Impostazioni e modifiche del bundle per questo canale.
  • Anteprima: Anteprima in-browser e nativa del bundle collegato. Abilita anteprima del bundle in Informazioni sull'app primo.

Resta sulla informazione tabella. Le impostazioni appaiono in questo ordine:

Primo, Canale di download predefinito è un badge di stato, non un toggle. Attivo significa che questo canale è il cloud predefinito per i dispositivi nuovi. Clicca Regola le impostazioni dell'app per modificare il valore predefinito su Informazioni sull'appPer impostazioni predefinite specifiche della piattaforma (una per iOS, una per Android e una per Electron), consulta la stessa sezione.

Secondo il IOS impostazione. Se questo è falso, i dispositivi iOS non saranno autorizzati a scaricare aggiornamenti da questo canale.

Terzo è il Android impostazione. Se questo è falso, i dispositivi Android non saranno autorizzati a scaricare aggiornamenti da questo canale.

Quarto è il Electron impostazione. Se questo è falso, le app Electron non saranno autorizzate a scaricare aggiornamenti da questo canale.

Quinto è il Disable auto downgrade under native "impostazione. Se è vero, non sarà possibile degradare da una versione nativa. Ciò significa che se hai caricato un"} 1.2.0 versiona per il negozio dell'app o per il negozio Play e prova a impostare la versione del canale su 1.1.0 poi l'aggiornamento (abbassamento) fallirà.

Sesto è il Disable auto update. Questa impostazione è piuttosto complessa, e puoi imparare di più su di essa qui

Settimo è il Download format impostazione. Sceglie se i dispositivi scaricano un file zip completo, solo i file delta modificati, o il meglio di entrambi. Vedi Formato di download.

Ottavo è Allow development buildSe questo è vero, i build di sviluppo saranno autorizzati a scaricare aggiornamenti da questo canale. Se non è vero, qualsiasi richiesta di aggiornamento che ha prod impostato a false sarà rifiutata. Questo è utile soprattutto per scopi di testing.

Decimo è Allow production build. Se questo è falso, le versioni di produzione (store) non riceveranno aggiornamenti da questo canale. Lascialo attivo per i canali che servono utenti reali.

Decimo è il Allow Emulators. Se questo è falso, Capgo non consentirà alcuna richiesta di aggiornamento proveniente da un emulatore. Questo è utile soprattutto per scopi di testing.

Undicesimo è Allow physical devices. Se questo è falso, Capgo rifiuterà le richieste di aggiornamento provenienti da telefoni e tablet reali. Lascialo attivo per i canali di produzione.

Dodicesimo è Allow devices to self dissociate/associate. Se questo è vero, il setChannel metodo sarà disponibile. Se questo è impostato su falso e provi a chiamare setChannel con questo canale, la chiamata fallirà.

Al fondo della Informazioni espandi Aggiornamento di testo API. Capgo mostra un comando curl contro /updates per un dispositivo di esempio su questo canale.

Il cambiamento può richiedere fino a 60 secondi per apparire nel API a causa di caching. Se il canale non può essere testato, il console vi avverte: il canale richiede almeno una piattaforma (iOS o Android), costruzioni di produzione, dispositivi fisici e o essere il canale di download predefinito o consentire l'assegnazione di dispositivi da parte dell'utente.

Dopo aver modificato il bundle collegato, il console può chiedere di Inviare notifica di aggiornamento. Che coda una push silenziosa, in modo che i dispositivi sul canale controllino ora il nuovo pacchetto. Configura le credenziali di push per Android e iOS sulla scheda Notifiche dell'app prima di tutto.

Le mappature forzate e gli override del canale pubblico API vengono eliminati 90 giorni dopo l'ultima scrittura di override. La registrazione dell'ultimo dispositivo non riavvia quel timer. Per un'assegnazione che sopravvive a quella pulizia, impostalo defaultChannel nel tuo Capacitor config (sopravvive alla reinstallazione, richiede un nuovo binario per cambiare) o chiama setChannel() dalla app (evita la pulizia dei 90 giorni, ma la reinstallazione lo cancella quindi l'app deve chiamare setChannel() nuovamente).

Capgo canale Devices tab mostrando la pop-over di conservazione degli override: gli override della console scadono dopo 90 giorni
Conservazione degli override sul tab Devices del canale. Lo stesso avviso compare quando forzi un ID dispositivo sul canale.

Ciò è separato da inventario dispositivi di conservazione. Rimuove gli inventari dispositivi che non si sono collegati a Capgo per 90 giorni. Annulla pulizia rimuove la mappa anche se il dispositivo è ancora attivo. Dettagli completi: Console e API override scadono dopo 90 giorni.

Apre un canale e rimane su Informazioni tab. Formato di download è nella lista impostazioni, sotto Disabilita l'aggiornamento automatico.

Formato di download a discesa su un canale Capgo che mostra Zip + delta, Solo zip completo, Solo delta, Solo zip completo dal build del magazzino e Solo delta dal build del magazzino
Formato di download nella scheda Informazioni del canale. I nuovi canali predefiniti sono Zip + delta.

Questa impostazione sceglie cosa Capgo invia quando un dispositivo su questo canale controlla l'aggiornamento. Lascia Zip + delta a meno che tu non debba forzare un tipo.

Etichetta nella consoleCLI / API valoreCosa i dispositivi scaricano
Zip + delta (predefinito)allOgni dispositivo ottiene il pacchetto migliore che supporta. I dispositivi su una versione di plugin con supporto Delta scaricano solo i file delta modificati quando il bundle li ha. Solo i dispositivi su una vecchia versione di plugin senza supporto Delta, o bundle caricati senza file delta, ricadono sul zip completo.
Solo zip completozipOgni dispositivo scarica il zip del bundle completo, anche quando esistono file delta.
Solo deltadeltaSolo i file delta modificati. I dispositivi su una vecchia versione di plugin senza supporto Delta ricevono ancora il zip completo quando il bundle lo ha.
Zip completo dal build del negozio solozip_from_builtinZip completo solo mentre il dispositivo è ancora sul build del negozio. Dopo la prima live update, Capgo serve zip + delta nuovamente.
Delta dal build del negozio solodelta_from_builtinDelta solo mentre il dispositivo è ancora sul build del negozio. Dopo la prima live update, Capgo serve zip + delta nuovamente.

Con Zip + delta, si aspetta di vedere alcune scariche di zip complete. Vengono da dispositivi che ancora eseguono un'antica versione nativa con una versione del plugin senza supporto per Delta (sotto 5.10.0, 6.25.0, o 7.0.35 per la loro versione maggiore). Vedi Aggiornamenti Delta.

context store build è i file web inclusi nella versione binaria dell'App Store o Play Store, prima di qualsiasi aggiornamento Capgo. Utilizza un from store build only modalità quando la prima aggiornamento dal build della store dovrebbe essere solo zip o solo delta, e gli aggiornamenti successivi possono utilizzare entrambi.

Capgo non associerà un canale zip solo con un pacchetto delta solo, o il contrario. Il console, CLI, e Canali API rifiuterà il salvataggio e ti dirà di caricare il pacchetto mancante o di cambiare la modalità.

Puoi impostare lo stesso valore dalla CLI. Il canale deve già esistere:

Finestra del terminale
npx @capgo/cli@latest channel set production com.example.app --update-package zip

Valori validi: all, zip, delta, zip_from_builtin, delta_from_builtin.

Rulli progressivi Informazioni la scheda include un Rilascio progressivo sezione con Obiettivo di rilascio e Fallback stabile, Cambia obiettivo di rilascio, Applica percentuale, e azioni Completa rilascio, Annulla rilascio, Attiva il rilascio, Disabilita il rilascio, Sospendi il rilascio, e Ripristina il rilascio.

Controlli di rilascio progressivi in un canale Capgo
I controlli di rilascio progressivi vengono visualizzati in cima alla scheda Informazioni del canale.

Leggi Rilasci progressivi Prima di abilitarne uno. Questa guida copre l'upload di routing (Automatico (consigliato) / Auto (consigliato) / Sostituisci stabile; CLI --stable / API target: "stable" per sovrascrivere, il Questo canale utilizza il rilascio progressivo bundle-link dialog, and a safe workflow with Osserva e Log Insights.

Se stai utilizzando Canali connettilo per pianificare la routing dei canali e il rilascio in fasi 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 Targeting della Versione per il workflow del prodotto nella Version Targeting Solution, e Capgo Pratiche per l'ambiente: Staging con un ID di App Mobile per il contesto pratico in Capgo Pratiche per l'ambiente: Staging con un ID di App Mobile.