Saltar al contenido

Canales

Los canales son el mecanismo central para gestionar las actualizaciones de aplicaciones en Capgo. Le permiten controlar cómo y cuándo sus usuarios reciben actualizaciones, habilitando funciones como pruebas A/B, despliegues graduales y actualizaciones específicas de plataforma.

Un canal representa un track de distribución para sus actualizaciones de aplicaciones. Cada canal puede configurarse con reglas y restricciones específicas:

  • Control de Versiones: Especifique qué versión reciben los usuarios
  • Segmentación de Plataformas: Dirija a plataformas específicas (iOS/Android)
  • Políticas de Actualización: Controle cómo se entregan las actualizaciones
  • Restricciones de Dispositivos: Gestione qué dispositivos pueden acceder a las actualizaciones
  • public: Establecer como canal predeterminado para nuevos dispositivos
  • disableAutoUpdateUnderNative: Prevenir actualizaciones cuando la versión nativa de la aplicación del dispositivo es más reciente que la versión de actualización disponible en el canal (ej., dispositivo está en versión 1.2.3, pero el canal tiene 1.2.2)
  • disableAutoUpdate: Controlar comportamiento de actualización (“major”, “minor”, “version_number”, “none”)
  • ios/android: Habilitar/deshabilitar para plataformas específicas
  • allow_device_self_set: Permitir que los dispositivos elijan su canal
  • allow_emulator: Permitir actualizaciones en dispositivos emuladores
  • allow_dev: Permitir actualizaciones en compilaciones de desarrollo
  1. Canal de Pruebas: Mantenga un canal de pruebas para validación interna
  2. Despliegue Gradual: Usar múltiples canales para despliegue gradual de actualizaciones
  3. Separación de Plataformas: Cree canales separados para iOS y Android cuando sea necesario
  4. Control de Versiones: Usar versionado semántico para rutas de actualización claras

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

Crear o actualizar una configuración de canal.

type disable_update = "major" | "minor" | "version_number" | "none"
interface ChannelSet {
app_id: string
channel: string
version?: string
public?: boolean
disableAutoUpdateUnderNative?: boolean
disableAutoUpdate?: disable_update
ios?: boolean
android?: boolean
allow_device_self_set?: boolean
allow_emulator?: boolean
allow_dev?: boolean
}
Terminal window
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,
"allow_emulator": true
}' \
https://api.capgo.app/channel/
{
"status": "ok"
}

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

Recuperar información del canal. Devuelve 50 canales por página.

  • app_id: Requerido. El ID de su aplicación
  • page: Opcional. Número de página para paginación
  • channel: Opcional. Nombre de canal específico para recuperar
Terminal window
# Obtener todos los canales
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123"
# Obtener canal específico
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Obtener siguiente página
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: {
id: number,
name: string
};
created_by: string;
updated_at: string;
public: boolean;
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}
{
"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/

Eliminar un canal. Tenga en cuenta que esto afectará a todos los dispositivos que usan este canal.

interface Channel {
channel: string
app_id: string
}
Terminal window
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"
}

Escenarios de Error comunes y sus respuestas:

// Canal no encontrado
{
"error": "Channel not found",
"status": "KO"
}
// Formato de versión inválido
{
"error": "Invalid version format. Use semantic versioning",
"status": "KO"
}
// Política de actualización inválida
{
"error": "Invalid disableAutoUpdate value",
"status": "KO"
}
// Permiso denegado
{
"error": "Insufficient permissions to manage channels",
"status": "KO"
}
  1. Pruebas Beta
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. Despliegue en Producción
{
"app_id": "app_123",
"channel": "production",
"version": "1.2.0",
"public": true,
"disableAutoUpdate": "minor"
}
  1. Actualizaciones Específicas de Plataforma
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}