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.
Comprendiendo los Canales
Section titled “Comprendiendo los Canales”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
Opciones de Configuración de Canales
Section titled “Opciones de Configuración de Canales”- 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
Mejores Prácticas
Section titled “Mejores Prácticas”- Canal de Pruebas: Mantenga un canal de pruebas para validación interna
- Despliegue Gradual: Usar múltiples canales para despliegue gradual de actualizaciones
- Separación de Plataformas: Cree canales separados para iOS y Android cuando sea necesario
- Control de Versiones: Usar versionado semántico para rutas de actualización claras
Endpoints
Section titled “Endpoints”https://api.capgo.app/channel/
Crear o actualizar una configuración de canal.
Request Body
Section titled “Request Body”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}Ejemplo de Solicitud
Section titled “Ejemplo de Solicitud”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/Respuesta de Éxito
Section titled “Respuesta de Éxito”{ "status": "ok"}https://api.capgo.app/channel/
Recuperar información del canal. Devuelve 50 canales por página.
Parámetros de Consulta
Section titled “Parámetros de Consulta”app_id: Requerido. El ID de su aplicaciónpage: Opcional. Número de página para paginaciónchannel: Opcional. Nombre de canal específico para recuperar
Ejemplos de Solicitud
Section titled “Ejemplos de Solicitud”# Obtener todos los canalescurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123"
# Obtener canal específicocurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Obtener siguiente páginacurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&page=1"Tipo de Respuesta
Section titled “Tipo de Respuesta”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;}Ejemplo de Respuesta
Section titled “Ejemplo de Respuesta”{ "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 } ]}Eliminar
Section titled “Eliminar”https://api.capgo.app/channel/
Eliminar un canal. Tenga en cuenta que esto afectará a todos los dispositivos que usan este canal.
Parámetros de Consulta
Section titled “Parámetros de Consulta”interface Channel { channel: string app_id: string}Ejemplo de Solicitud
Section titled “Ejemplo de Solicitud”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/Respuesta de Éxito
Section titled “Respuesta de Éxito”{ "status": "ok"}Manejo de Errores
Section titled “Manejo de Errores”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"}Casos de Uso Comunes
Section titled “Casos de Uso Comunes”- Pruebas Beta
{ "app_id": "app_123", "channel": "beta", "version": "1.2.0-beta", "public": false, "allow_emulator": true, "allow_dev": true}- Despliegue en Producción
{ "app_id": "app_123", "channel": "production", "version": "1.2.0", "public": true, "disableAutoUpdate": "minor"}- Actualizaciones Específicas de Plataforma
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}