Canali
Copia una richiesta di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
I canali sono il meccanismo di base per la gestione degli aggiornamenti dell'applicazione in Capgo. Consentono di controllare come e quando i tuoi utenti ricevono gli aggiornamenti, abilitando funzionalità come il testing A/B, i rilasci in fase di testing e gli aggiornamenti specifici per piattaforma.
Capire i canali
Sezione intitolata “Capire i canali”Un canale rappresenta una traccia di distribuzione per gli aggiornamenti dell'applicazione. Ogni canale può essere configurato con regole e vincoli specifici:
- Controllo del pacchetto (versione): Specifica quale bundle (versione) gli utenti ricevono
- Targetazione piattaforma: Scegliere piattaforme specifiche (iOS/Android/Electron)
- Opzioni di politica di aggiornamento: Controlla come vengono consegnati gli aggiornamenti
- Restrizioni dispositivo: Gestisci quali dispositivi possono accedere agli aggiornamenti
Opzioni di configurazione del canale
Sezione intitolata “Opzioni di configurazione del canale”- pubblico: Imposta come canale predefinito per i nuovi dispositivi
- disabilitaAggiornamentoAutoSottoNativo: Prevenire gli aggiornamenti quando la versione dell'app nativa del dispositivo è più recente della versione disponibile nel canale (ad esempio, il dispositivo è in versione nativa 1.2.3, ma il canale ha la versione 1.2.2 disponibile)
- disabilitaAggiornamentoAutomatico: Controllare il comportamento degli aggiornamenti (“major”, “minor”, “version_number”, “none”)
- ios/android/electron: Abilita/disabilita per piattaforme specifiche
- consentiImpostazioniDispositivo: Lasciare ai dispositivi la scelta del canale
- consentiEmulatore: Consentire gli aggiornamenti sui dispositivi emulati
- consentiSviluppo: Consentire gli aggiornamenti sui build di sviluppo
Pratiche Raccomandate
Sezione intitolata “Best Practices”- Canale di Test: Mantieni un canale di test per la validazione interna
- Rollout Stagionale: Utilizza più canali per il graduale deployment degli aggiornamenti
- Separazione della Piattaforma: Crea canali separati per iOS, Android e Electron quando necessario
- Controllo del Pacchetto (versione): Utilizza la semantica versioning per percorsi di aggiornamento chiari
Punti di Fine
Sezione intitolata “Endpoint”https://api.capgo.app/channel/
Crea o aggiorna una configurazione del canale.
Corpo della richiesta
Sezione intitolata “Corpo della richiesta”type disable_update = "major" | "minor" | "version_number" | "none"interface ChannelSet { app_id: string channel: string version?: string // bundle (version) name public?: boolean disableAutoUpdateUnderNative?: boolean disableAutoUpdate?: disable_update ios?: boolean android?: boolean electron?: boolean allow_device_self_set?: boolean allow_emulator?: boolean allow_dev?: boolean}Esempio di richiesta
Sezione intitolata “Esempio di richiesta”curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta", "version": "1.2.0", "public": false, "disableAutoUpdate": "minor", "ios": true, "android": true, "electron": true, "allow_emulator": true }' \ https://api.capgo.app/channel/Risposta di successo
Sezione intitolata “Risposta di successo”{ "status": "ok"}https://api.capgo.app/channel/
Recupera informazioni sul canale. Restituisce 50 canali per pagina.
Parametri di query
Sezione intitolata “Parametri di query”app_id: Obbligatorio. L'ID del tuo'apppage: Facoltativo. Numero di pagina per la paginazionechannel: Facoltativo. Nome del canale specifico da recuperare
Esempi di richiesta
Sezione intitolata “Esempi di richiesta”# Get all channelscurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123"
# Get specific channelcurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&page=1"Tipo di Risposta
Sezione intitolata “Tipo di Risposta”interface Channel { id: number; created_at: string; name: string; app_id: string; version: { // bundle (version) assigned to the channel id: number, name: string }; created_by: string; updated_at: string; public: boolean; disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}Nella risposta riportata di seguito, version si riferisce al pacchetto (versione) assegnato al canale.
Esempio di Risposta
Sezione intitolata “Esempio di Risposta”{ "data": [ { "id": 1, "name": "production", "app_id": "app_123", "version": { "id": 1, "name": "1.0.0" }, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "created_by": "user_123", "public": true, "disableAutoUpdateUnderNative": false, "disableAutoUpdate": false, "allow_emulator": false, "allow_dev": false } ]}Elimina
Sezione intitolata “Elimina”https://api.capgo.app/channel/
Elimina un canale. Nota che ciò influenzerà tutti i dispositivi che utilizzano questo canale.
Parametri di query
Sezione intitolata “Parametri di query”interface Channel { channel: string app_id: string}Richiesta di esempio
Sezione intitolata “Richiesta di esempio”curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta" }' \ https://api.capgo.app/channel/Risposta di successo
Sezione intitolata “Risposta di successo”{ "status": "ok"}Gestione degli errori
Sezione intitolata “Gestione degli errori”Scenari di errori comuni e le loro risposte:
// Channel not found{ "error": "Channel not found", "status": "KO"}
// Invalid bundle (version) format{ "error": "Invalid version format. Use semantic versioning", "status": "KO"}
// Invalid update policy{ "error": "Invalid disableAutoUpdate value", "status": "KO"}
// Permission denied{ "error": "Insufficient permissions to manage channels", "status": "KO"}Casi d'uso comuni
Sezione intitolata “Casi d'uso comuni”- Test beta
{ "app_id": "app_123", "channel": "beta", "version": "1.2.0-beta", "public": false, "allow_emulator": true, "allow_dev": true}- Distribuzione in produzione
{ "app_id": "app_123", "channel": "production", "version": "1.2.0", "public": true, "disableAutoUpdate": "minor"}- Aggiornamenti specifici per piattaforma
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}Continua da Channels
Sezione intitolata “Continua da Canali”Se stai utilizzando Canali per pianificare la routing dei canali e la distribuzione in fase di testing, collega 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 della Versione per il workflow del prodotto in Soluzione di Targeting della Versione Capgo Environment Best Practices: Staging with One Mobile App ID for the practical context in Capgo Environment Best Practices: Staging with One Mobile App ID.