__CAPGO_KEEP_0__ - Actualizaciones en vivo para aplicaciones __CAPGO_KEEP_1__

Canales

Los canales son la mecanismo fundamental para gestionar actualizaciones de la aplicación en Capgo. Permiten controlar cómo y cuándo los usuarios reciben actualizaciones, habilitando características como pruebas A/B, lanzamientos de etapas y actualizaciones específicas de plataforma.

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

  • Control de paquetes (versión): Especificar qué paquete (versión) reciben los usuarios
  • Diseño de plataforma: Dirigir plataformas específicas (iOS/Android/Electron)
  • Políticas de actualización: Controlar cómo se entregan las actualizaciones
  • Restricciones de dispositivo: Administrar qué dispositivos pueden acceder a actualizaciones
  • público: Establecer como canal predeterminado para nuevos dispositivos
  • : Evitar actualizaciones cuando la versión nativa del dispositivo del aplicativo es más nueva que la versión del paquete de actualización disponible en el canal (por ejemplo, el dispositivo está en la versión nativa del aplicativo 1.2.3, pero el canal tiene el paquete de versión 1.2.2): Controlar el comportamiento de actualización (“mayor”, “menor”, “número de versión”, “ninguno”)
  • : Habilitar/deshabilitar para plataformas específicas (iOS, Android, Electron): Permitir a los dispositivos elegir su canal
  • : Permitir a los dispositivos elegir su canal: Permitir a los dispositivos elegir su canal
  • : Permitir a los dispositivos elegir su canal: Permitir a los dispositivos elegir su canal
  • permitir_emulador: Permitir actualizaciones en dispositivos de emulación
  • permitir_desarrollo: Permitir actualizaciones en compilaciones de desarrollo
  1. Canales de pruebas: Mantener un canal de pruebas para la validación interna
  2. Despliegue escalonado: Utilizar múltiples canales para el despliegue gradual de actualizaciones
  3. Separación de plataforma: Crear canales separados para iOS, Android y Electron cuando sea necesario
  4. Control de versiones (versión): Utilice la versión semántica para caminos de actualización claros

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 // 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
}
Ventana de terminal
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/

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

  • app_idRequerido. El ID de tu aplicación
  • pageOpcional. Número de página para paginación
  • channel: Opcional. Nombre de canal específico para recuperar
Ventana de terminal
# 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;
}

En la respuesta a continuación, version se refiere al paquete (versión) asignado al canal.

{
"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 canal. Ten en cuenta que esto afectará a todos los dispositivos que utilicen este canal.

interface Channel {
channel: string
app_id: string
}
Ventana de terminal
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 errores comunes y sus respuestas:

// 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. Pruebas de 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. __CAPGO_KEEP_0__
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}