Cambios de versión
Copia una línea de configuración con los pasos de instalación y la guía markdown completa para este plugin.
Esta documentación explica cómo manejar cambios de versión en tu aplicación utilizando canales versionados. Esta aproximación permite mantener diferentes versiones de tu aplicación mientras se garantiza que los usuarios reciben actualizaciones compatibles.
Escenario de ejemplo
Sección titulada “Escenario de ejemplo”Digamos que tienes:
- Versión de la aplicación 1.2.3 (versión antigua) - utiliza el canal de producción
- Versión de la aplicación 2.0.0 (nueva versión con cambios importantes) - utiliza el canal v2
- Live update 1.2.4 (compatible con 1.2.3)
- Live update 2.0.1 (compatible con 2.0.0)
Estrategia: Utiliza siempre defaultChannel para versiones principales
Título de la sección: Estrategia: Utiliza siempre defaultChannel para versiones principalesEnfoque recomendado: Establece un defaultChannel para cada versión principal. De esta manera, siempre puedes enviar actualizaciones a grupos de usuarios específicos sin depender de la asignación dinámica de canales.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Crear Canal para Nueva Versión
Título de la sección “1. Crear Canal para Nueva Versión”# Create channel for version 2.xnpx @capgo/cli channel add v22. Actualice Capacitor Config para la versión 2.0.0
Sección titulada “2. Actualice Capacitor Config para la versión 2.0.0”Actualice su Capacitor config antes de construir la versión 2.0.0 para la tienda de aplicaciones:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;3. Gestione ramas separadas Code
Sección titulada “3. Gestione ramas separadas Code”Cree ramos de Git separados para mantener la compatibilidad entre versiones de la aplicación.
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainCrítico: Jamás envíe paquetes de JavaScript a aplicaciones más antiguas que esperan APIs nativas code que no tienen. Siempre construya actualizaciones desde la rama adecuada:
- rama de mantenimiento v1-maintenance: Para actualizaciones de aplicaciones 1.x (canal de producción)
- rama principal: Para actualizaciones de aplicaciones 2.x (canal v2)
4. Subir paquetes a los canales respectivos
Sección titulada “4. Subir paquetes a los canales respectivos”# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. Habilitar Autoasignación
Sección titulada “5. Habilitar Autoasignación”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Desplegar a la Tienda de Aplicaciones
Sección titulada “6. Desplegar en App Store”Compilar y desplegar la versión 2.0.0 a la tienda de aplicaciones. Todos los usuarios que descarguen esta versión (ya sean nuevos usuarios o usuarios existentes que actualizan) utilizarán automáticamente el canal v2 porque está configurado en el paquete de la aplicación.
Ampliando a Futuras Versiones
Sección titulada “Ampliando a Futuras Versiones”Cuando publique la versión 3.0.0 con más cambios importantes:
# Create channel for version 3.xnpx @capgo/cli channel add v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};Ahora puede enviar actualizaciones a cualquier versión:
productioncanal → Usuarios de la versión 1.xv2canal → Usuarios de la versión 2.xv3canal → Usuarios de la versión 3.x
7. Limpieza (Después de la Migración)
Sección titulada “7. Limpieza (Después de la Migración)”Una vez que todos los usuarios hayan migrado a la versión 2.x (durante 3-4 meses):
- Eliminar
defaultChannelde su configuración Capacitor - Eliminar el canal v2:
npx @capgo/cli channel delete v2- Eliminar la rama de mantenimiento v1-
git branch -d v1-maintenancegit push origin --delete v1-maintenanceSiempre prueba las actualizaciones exhaustivamente en cada canal antes de la implementación
Mantener Actualizaciones de Versión 1.x
Sección titulada “Mantener Actualizaciones de Versión 1.x”Para enviar actualizaciones compatibles con la versión 1.x:
- Cambie a la rama v1-maintenance:
git checkout v1-maintenance- Haga sus cambios y comit:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Construya y suba a producción en el canal:
npx @capgo/cli bundle upload --channel productionContinúa desde Cambios importantes
Sección titulada “Continúa desde Cambios importantes”Si estás utilizando Cambios importantes para planificar la ruta de canales y la implementación en etapas, conecta con Canales para los detalles de implementación en los canales, Canales para los detalles de implementación en los canales, Canales para los detalles de implementación en los canales, Solución de Pruebas Beta para el flujo de trabajo del producto en la Solución de Pruebas Beta, y Solución de Enfoque en Versión para el flujo de trabajo del producto en la Solución de Enfoque en Versión.