Canales
Copie una línea de comando de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
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.
Entendiendo los canales
Sección titulada “Entendiendo los canales”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
Opciones de configuración de canal
Título de la sección “Opciones de configuración de canal”- 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
Prácticas recomendadas
Sección titulada “Prácticas recomendadas”- Canales de pruebas: Mantener un canal de pruebas para la validación interna
- Despliegue escalonado: Utilizar múltiples canales para el despliegue gradual de actualizaciones
- Separación de plataforma: Crear canales separados para iOS, Android y Electron cuando sea necesario
- Control de versiones (versión): Utilice la versión semántica para caminos de actualización claros
Puntos finales
Sección titulada “Puntos finales”https://api.capgo.app/channel/
Crear o actualizar una configuración de canal.
Cuerpo de la solicitud
Sección titulada “Cuerpo de la solicitud”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}Solicitud de ejemplo
Sección titulada “Solicitud de ejemplo”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/Respuesta de éxito
Sección titulada “Respuesta de éxito”{ "status": "ok"}https://api.capgo.app/channel/
Obtener información del canal. Devuelve 50 canales por página.
Parámetros de consulta
Sección titulada “Parámetros de consulta”app_idRequerido. El ID de tu aplicaciónpageOpcional. Número de página para paginaciónchannel: Opcional. Nombre de canal específico para recuperar
Solicitudes de ejemplo
Sección titulada “Solicitudes de ejemplo”# Get all channelscurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123"
# Get specific channelcurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&page=1"Tipo de respuesta
Sección titulada “Tipo de respuesta”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.
Respuesta de ejemplo
Sección titulada “Respuesta de ejemplo”{ "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
Sección titulada “ELIMINAR”https://api.capgo.app/channel/
Elimina un canal. Ten en cuenta que esto afectará a todos los dispositivos que utilicen este canal.
Parámetros de consulta
Sección titulada “Parámetros de consulta”interface Channel { channel: string app_id: string}Solicitud de ejemplo
Sección titulada “Solicitud de ejemplo”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
Sección titulada “Respuesta de éxito”{ "status": "ok"}Gestión de errores
Sección titulada “Gestión de errores”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"}Uso común
Sección titulada “Uso común”- Pruebas de 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"}- __CAPGO_KEEP_0__
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}