Saltare al contenuto

Canali

I canali sono il meccanismo di base per la gestione degli aggiornamenti dell'applicazione Capgo. Consentono di controllare come e quando i tuoi utenti ricevono gli aggiornamenti, abilitando funzionalità come il testing A/B, gli aggiornamenti in fase di testing e gli aggiornamenti specifici per piattaforma.

Un canale rappresenta un percorso di distribuzione per gli aggiornamenti dell'applicazione. Ogni canale può essere configurato con regole e vincoli specifici:

  • Controllo del pacchetto (versione): Specifica quale pacchetto (versione) gli utenti ricevono
  • Targetting della piattaforma: Scegliere piattaforme specifiche (iOS/Android/Electron)
  • Politiche degli aggiornamenti: Controllare come gli aggiornamenti sono consegnati
  • Restrizioni dispositivi: Gestisci quali dispositivi possono accedere agli aggiornamenti
  • pubblico: Imposta come canale predefinito per i nuovi dispositivi
  • disableAutoUpdateUnderNative: Impedisce gli aggiornamenti quando la versione nativa dell'applicazione sul 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 (“maggiore”, “minore”, “numero di versione”, “nessuno”)
  • ios/android/electron: Abilita/disabilita per piattaforme specifiche
  • consenti_dispositivo_autoimpostazione: Lascia che i dispositivi scelgano il canale
  • consenti_emulatore: Consenti gli aggiornamenti sui dispositivi emulatore
  • consenti_dev: Consenti gli aggiornamenti sui build di sviluppo
  1. Canale di Test: Mantieni un canale di test per la validazione interna
  2. Rilascio Stagionale: Utilizza più canali per il rilascio graduale degli aggiornamenti
  3. Separazione di piattaforma: Crea canali separati per iOS, Android e Electron quando necessario
  4. Controllo del pacchetto (versione): Utilizza la versioning semantico per percorsi di aggiornamento chiari

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

Creare o aggiornare 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 le informazioni del 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
Fermata 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;
}

In basso risulta la risposta indicata. 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/

Cancella 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 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"
}
  1. Test di Beta
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. Esecuzione di rollout 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 rollout a fasi, connettilo con Canali per i dettagli di implementazione in Channels, Channels per i dettagli di implementazione in Channels, Soluzione di Test Beta per il flusso di lavoro del prodotto in Soluzione di Test Beta, Soluzione di Targetizzazione della Versione per il flusso di lavoro del prodotto in Soluzione di Targetizzazione della Versione, e Capgo Pratiche per l'ambiente: Staging con un ID di App Mobile Unico per il contesto pratico in Capgo Pratiche per l'ambiente: Staging con un ID di App Mobile Unico.