__CAPGO_KEEP_0__ - Aggiornamenti in Tempo Reale per le App __CAPGO_KEEP_1__

Canali

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.

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
  • 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
  1. Canale di Test: Mantieni un canale di test per la validazione interna
  2. Rollout Stagionale: Utilizza più canali per il graduale deployment degli aggiornamenti
  3. Separazione della Piattaforma: Crea canali separati per iOS, Android e Electron quando necessario
  4. Controllo del Pacchetto (versione): Utilizza la semantica versioning per percorsi di aggiornamento chiari

https://api.capgo.app/channel/

Crea o aggiorna una configurazione del canale.

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
}
Finestra del terminale
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/
{
"status": "ok"
}

https://api.capgo.app/channel/

Recupera informazioni sul canale. Restituisce 50 canali per pagina.

  • app_id: Obbligatorio. L'ID del tuo'app
  • page: Facoltativo. Numero di pagina per la paginazione
  • channel: Facoltativo. Nome del canale specifico da recuperare
Finestra del terminale
# Get all channels
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123"
# Get specific channel
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&page=1"
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.

{
"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
}
]
}

https://api.capgo.app/channel/

Elimina un canale. Nota che ciò influenzerà tutti i dispositivi che utilizzano questo canale.

interface Channel {
channel: string
app_id: string
}
Finestra del terminale
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/
{
"status": "ok"
}

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"
}
  1. Test beta
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. Distribuzione in produzione
{
"app_id": "app_123",
"channel": "production",
"version": "1.2.0",
"public": true,
"disableAutoUpdate": "minor"
}
  1. Aggiornamenti specifici per piattaforma
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}

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.