Canali
Copia un prompt 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 gli utenti ricevono gli aggiornamenti, abilitando funzionalità come il testing A/B, i rilasci in fasi e gli aggiornamenti specifici per piattaforma.
Capire i canali
Sezione intitolata “Capire i canali”Un canale rappresenta un tracciato di distribuzione per gli aggiornamenti dell'applicazione. Ogni canale può essere configurato con regole e vincoli specifici:
- Controllo del pacchetto (versione): Specificare quale pacchetto (versione) gli utenti ricevono
- Targetting per piattaforma: Target specifiche piattaforme (iOS/Android/Electron)
- Politiche di aggiornamento: Controllare come gli aggiornamenti sono consegnati
- Restrizioni per dispositivi: 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
- disableAutoUpdateUnderNative: Impedisce gli aggiornamenti quando la versione nativa dell'applicazione 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)
- disableAutoUpdate: Controlla il comportamento degli aggiornamenti (“major”, “minor”, “version_number”, “none”)
- ios/android/electron: Abilita/disabilita per piattaforme specifiche
- consenti_impostazioni_di_dispositivo: Lascia che i dispositivi scegliano il canale
- allow_emulator: Consentire gli aggiornamenti sui dispositivi emulator
- allow_dev: Consentire gli aggiornamenti sui build di sviluppo
Pratiche Raccomandate
Sezione intitolata “Pratiche Raccomandate”- Canale di Test: Mantieni un canale di test per la validazione interna
- Rilascio Stagionale: Utilizza più canali per il rilascio graduale degli aggiornamenti
- Separazione per Piattaforma: Crea canali separati per iOS, Android e Electron quando necessario
- Bundle (versione) Controllo: Utilizza la versioning semantico per percorsi di aggiornamento chiari
Punti di fine
Sottosezione intitolata “Punti di fine”https://api.capgo.app/channel/
Crea o aggiorna una configurazione del canale.
Campo del corpo della richiesta
Sottosezione intitolata “Campo del 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 “Richiesta di esempio”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: Opzionale. Numero di pagina per la paginazionechannel: Opzionale. Nome del canale specifico da recuperare
Richieste di esempio
Sezione intitolata “Richieste di esempio”# 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.
Risposta di esempio
Sezione intitolata “Risposta di esempio”{ "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 della query
Sezione intitolata “Parametri della 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 errore comuni e relative 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 di 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}