Saltare al contenuto

Canali

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

  1. Mappatura forzata del dispositivo: Se l'ID del dispositivo è esplicitamente impostato su un canale (la Dispositivi tabella sulle pagine dei canali), quel canale vince sempre. Le mappature forzate sono override console/API. Capgo le elimina dopo 90 giorni dall'ultima scrittura di override. Vedi Console e override di API scadono.
  2. Sovrascrittura Cloud (Dashboard o Pubblico API): Modificare il canale di un dispositivo nel dashboard o tramite il Pubblico API scrive un sovrascrittura legata a quel ID dispositivo. Riinstallando l'app non lo cancella; cancellando la sovrascrittura lo fa. Lo stesso periodo di conservazione di 90 giorni si applica. Plugin
  3. (locale) setChannel() : Le versioni correnti dei pluginmemorizzano il canale sul dispositivo dopo la validazione del backend. Non è una sovrascrittura del dashboard. Riinstallando l'app lo cancella; l'app deve richiamarlo setChannel() nuovamente se desideri ancora quel canale. setChannel() __CAPGO_KEEP_0__ config
  4. Capacitor config defaultChannel : Per le costruzioni interne / beta / test puoi impostare__CAPGO_KEEP_0__ defaultChannel (chiave legacy) channelin capacitor.config.* così i dispositivi di test iniziano su un canale di anteprima (ad esempio) beta, pr-123. Se assente, il dispositivo procederà al cloud default. Le costruzioni di produzione lasciano spesso questo impostato su default.
  5. Canale Cloud Predefinito (strategia principale per ~99% degli utenti): Il canale di produzione principale in cui atterranno quasi tutti gli utenti reali. Qualsiasi nuovo dispositivo senza una forza, senza un sovraccarico, senza una configurazione locale setChannel()e senza una configurazione defaultChannel utilizza questo. Cambiandolo si distribuisce (o si annulla) per tutti in secondi, senza alcun nuovo binario.

Perché il canale cloud predefinito è la strada principale:

  • Rullata istantanea o annullamento senza ricostruire o ristampare i binari nativi.
  • Un posto per gestire il comportamento di iOS, Android e Electron.
  • Meno pericoloso: puoi confermare che i pacchetti esistono e le impostazioni sono corrette prima di passare a impostazioni predefinite.
  • Modifiche tracciabili (gli utenti del team possono vedere chi ha modificato cosa nella UI / log). Principio di progettazione: Layer sopra (forza / sovrascrivi / config) sono eccezioni (debug utente singolo, QA switching, test build defaults). Flusso degli utenti normali verso impostazioni cloud predefinite.

La modifica del impostazioni cloud predefinite influisce su nuovi dispositivi normali che:

  • Non sono stati forzati
  • Non hanno già un sovrascrittura cloud
  • Non avere un livello di app defaultChannel definito

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

I dispositivi rimangono sul loro canale attuale a meno che non:

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

Nota: Impostare

significa cambiarlo richiede un nuovo binario; utilizzalo intenzionalmente per test/QA, non per il controllo generale di produzione. defaultChannel Esempio di configurazione __CAPGO_KEEP_0__

Sezione intitolata “Esempio di configurazione Capacitor”

Esempio di configurazione Capacitor.ts
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 cambierai la dashboard predefinita a productionGestione dei canali


e quindi cliccando sul pulsante dei canali elenco dei canali Creazione di un canale.

Sezione intitolata “Creazione di un canale”

Come puoi vedere, esiste un pulsante di aggiunta in angolo inferiore destro. (

Gestione dei canali

Sezione intitolata “Gestione dei canali”1 Cliccando su di esso, si aprirà una finestra modale dove potrai creare un nuovo canale.

nuovo canale

Poi dopo aver cliccato su Add Dovrebbe apparire un nuovo canale nella lista.

dopo la creazione del canale

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

Per eliminare un canale dall'app web, apri il Canali context tab per il tuo app e trova la riga del canale. Nella Azione colonna, clicca sull'icona della spazzatura, quindi clicca Cancella

nella finestra di conferma.

Riga del canale con azione di eliminazione nella colonna della spazzatura 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:

permessi per quel app. Chiedi a un amministratore di organizzazione o app di concedere un ruolo che può eliminare i canali, o elimina il canale con una chiave __CAPGO_KEEP_0__ che ha i permessi: il terminale
npx @capgo/cli@latest channel delete <channel-name> <app-id>

Un'organizzazione e un'app legata Anteprima dell'app La chiave di un'organizzazione e di un'app può cancellare solo atomicamente il canale di anteprima non pubblico e il bundle creato con essa. Non può modificare o cancellare un canale predefinito principale, un altro canale di antepriva di una chiave diversa o un bundle di un'altra chiave. Vedi channel delete <preview-channel> <app-id> --delete-bundle__CAPGO_KEEP_0__ Chiavi API Keys Gestione di un canale

Impostazioni del canale

Schede del canale
  • Pannello di controllocontext
  • Adozione del bundle corrente e statistiche di installazione per questo canale.: Channel settings listed below, plus progressive rollout and Test Update API.
  • contextImpostazioni del canale elencate di seguito, più rilascio progressivo e Aggiornamento di prova API. setChannel()Dispositivi Console and API overrides expire.
  • Mappature forzate create dalla console o solo da Public __CAPGO_KEEP_0__. Non elenca ogni dispositivo attualmente sul canale e non elenca dispositivi che hanno utilizzatoVedi
  • context: Visualizzazione in anteprima in-browser e nativa del bundle collegato. Abilita anteprima del bundle in Informazioni sull'app per primo.

Resta su Informazioni tab. Le impostazioni appaiono in questo ordine:

Per primo, Canale di download predefinito è un badge di stato, non un toggle. Attivo significa che questo canale è quello cloud predefinito per i dispositivi nuovi. Clicca gestisci le impostazioni dell'app per modificare la predefinito su Informazioni sull'app. Per le predefinizioni specifiche per piattaforma (una per iOS, una per Android e una per Electron), vedi 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 questo è vero, allora sarà impossibile degradare da una versione nativa. Ciò significa che se hai caricato una versione sullo store dell'app o sullo store di Google Play e cerchi di impostare la versione del canale su 1.2.0 allora l'aggiornamento (degradazione) fallirà. 1.1.0 Sesta è la

impostazione. Questa impostazione è piuttosto complessa, e puoi imparare di più su di essa Disable auto updateSettimo è il impostazione. Sceglie se i dispositivi scaricano un file zip completo, un delta dei file modificati o entrambi. Vedi

Pacchetto di aggiornamento Update package Ottavo è il impostazione. Se questo è vero, allora i build di sviluppo saranno consentiti a scaricare gli aggiornamenti da questo canale. Se non lo è, allora qualsiasi richiesta di aggiornamento che ha impostato su false sarà rifiutata. Ciò è utile soprattutto per scopi di testing..

ninth is the __CAPGO_KEEP_0__ setting. This setting is quite complex, and you can learn more about it __CAPGO_KEEP_1__ here __CAPGO_KEEP_2__. Allow development builddecimo è il __CAPGO_KEEP_0__ setting. Sceglie se i dispositivi scaricano un file zip completo, un delta dei file modificati o entrambi. Vedi __CAPGO_KEEP_1__ Update package __CAPGO_KEEP_2__. prod undicesimo è il __CAPGO_KEEP_0__ setting. Se questo è vero, allora i build di sviluppo saranno consentiti a scaricare gli aggiornamenti da questo canale. Se non lo è, allora qualsiasi richiesta di aggiornamento che ha impostato su false sarà rifiutata. Ciò è utile soprattutto per scopi di testing __CAPGO_KEEP_1__.

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

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

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

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

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

I cambiamenti possono richiedere fino a 60 secondi per apparire nel API a causa della cache. Se il canale non può essere testato, il console vi avverte: il canale richiede almeno una piattaforma (iOS o Android), le build di produzione, i dispositivi fisici e o essere il canale di download predefinito o consentire l'assegnazione del dispositivo da parte dell'utente.

Dopo aver modificato il bundle collegato, il console può chiedere di Invia notifica di aggiornamento. Questo mette in coda una notifica silenziosa, quindi i dispositivi sul canale controllano ora il nuovo pacchetto. Configura le credenziali di push per Android e iOS sulla scheda Notifiche dell'app prima di procedere.

Il mapping forzato e gli override del canale pubblico API vengono eliminati 90 giorni dopo l'ultima scrittura dell'override. La data di ultima connessione del dispositivo non riavvia questo orologio. Per un'assegnazione che sopravviva a questo pulizia, impostalo defaultChannel in tua Capacitor config (resiste alla reinstallazione, richiede un nuovo binario per cambiarlo) o chiama setChannel() da l'app (evita la pulizia dei 90 giorni, ma reinstalla 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 dispositivi del canale. Lo stesso avviso compare quando forzi un ID dispositivo sul canale.

Questo è separato da la conservazione dell'inventario dei dispositiviL'inventario elimina i dispositivi che non si sono collegati a Capgo per 90 giorni. L'override di pulizia elimina anche la mappatura se il dispositivo è ancora attivo. Dettagli completi: Console e API gli override scadono dopo 90 giorni.

Apri un canale e rimani sulla Informazioni scheda. L'aggiornamento del pacchetto è nella lista delle impostazioni, sotto Disabilita l'aggiornamento automatico.

Il menu a discesa dell'aggiornamento del pacchetto su un canale Capgo che mostra Zip e delta, Zip solo, Delta solo, Zip solo da costruito, e Delta solo da costruito
Aggiorna il pacchetto sul canale nella scheda Informazioni. I nuovi canali predefiniti utilizzano Zip e delta.

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

Etichetta nella consoleCLI / API valoreCosa i dispositivi scaricano
Zip e deltaallUn zip completo e un delta quando entrambi esistono. Questo è il valore predefinito.
Solo zipzipSolo il zip completo.
Solo deltadeltaSolo i file modificati. I plugin che non possono applicare un delta ricevono comunque un zip.
Zip solo da builtinzip_from_builtinZip solo mentre il dispositivo è ancora sul binario dello store. Dopo il primo aggiornamento live, Capgo serve nuovamente zip e delta.
Delta solo da builtindelta_from_builtinDelta solo mentre il dispositivo è ancora sul binario dello store. Dopo il primo aggiornamento live, Capgo serve nuovamente zip e delta.

Builtin è i file web caricati all'interno del binario dell'App Store o Play Store, prima di qualsiasi Capgo aggiornamento. Utilizza un from builtin modalità quando il primo aggiornamento dal build dello store dovrebbe essere zip-solo o delta-solo, e gli aggiornamenti successivi possono utilizzare entrambi.

Capgo non associerà un canale zip-solo con un bundle delta-solo, o viceversa. Il console, CLI, e I canali API rifiutano il salvataggio e ti dicono 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.

Canale Informazioni La scheda include un Rollout progressivo Sottosezione con Target del rollout e Controlli di distribuzione in un canale __CAPGO_KEEP_0__, Cambia il bersaglio di distribuzione, Applica percentuale, e azioni Distribuzione completa, Annulla distribuzione, Abilita distribuzione, Disabilita distribuzione, Sospendi distribuzione, e Riprendi distribuzione.

Progressive rollout controls in a Capgo channel
I controlli di rilascio progressivo vengono visualizzati in cima alla scheda Informazioni del canale.

Leggi Rilasci progressivi Leggi prima di abilitarne uno. Questa guida copre la configurazione delle rotte di caricamento (Auto (consigliato) / Destinatario del rilascio / Sostituisci la versione stabile; CLI --stable / API target: "stable" per sovrascriverlo), il Questo canale utilizza il rilascio progressivo dialogo di collegamento del bundle e un flusso di lavoro sicuro con Osserva e Log Insights.

Continua da 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, Canali Soluzione di Test Beta per il flusso di lavoro del prodotto in Soluzione di Test Beta Soluzione di Targeting della Versione per il flusso di lavoro del prodotto in Soluzione di Targeting della Versione, 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.